28. 选项中哪一行代码能够替换题目中//add code here而不产生编译错误?()spa
public abstract class MyClass {
public int constInt = 5; //add code here public void method() { } }
Apublic abstract void method(int a);设计
B constInt = constInt + 5;code
C public int method();对象
D public abstract void anotherMethod() {}blog
答案:A继承
解析:考察抽象类的使用。接口
抽象类遵循的原则:it
(1)接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是能够有私有方法或私有变量的。编译
(2)abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。可是,一个类却能够实现多个interface,实现多重继承。接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的做用。class
(3)在abstract class 中能够有本身的数据成员,也能够有非abstarct的成员方法,而在interface中,只可以有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中通常不定义数据成员),全部的成员方法默认都是 public abstract 类型的。
(4)abstract class和interface所反映出的设计理念不一样。其实abstract class表示的是"is-a"关系,interface表示的是"has-a"关系。
(5)实现接口的必定要实现接口里定义的全部方法,而实现抽象类能够有选择地重写须要用到的方法,通常的应用里,最顶级的是接口,而后是抽象类实现接口,最后才到具体类实现。抽象类中能够有非抽象方法。接口中则不能有实现方法。
(6)接口中定义的变量默认是public static final 型,且必须给其初值,因此实现类中不能从新定义,也不能改变其值。抽象类中的变量默认是 friendly 型,其值能够在子类中从新定义,也能够在子类中从新赋值。