1. 不同对象的实例变量分配的内存空间地址一定不同吗?
实例变量仅仅是与相应的对象关联的变量。也就是说,不同对象的实例变量互不相
同,即分配到不同的内存空间,改变其中一个对象的实例变量也不会影响其他对象
相关的实例变量。
3.abstract 类中可以有非 abstract 方法吗?
4.同一个源文件中声明编写的类一定在同一包中吗
5.子类在什么情况下可以继承父类的友好成员?
public abstract class ClosedFigure
public ClosedFigure() { }
public void print() { }
public void finalize() { }
7. 如果 ClosedFigure 类中的 area()方法声明如下,会对ClosedFigure 的子类有何影响?
public class ClosedFigure
【答】此处 ClosedFigure 类的 area()方法没有意义。因为 ClosedFigure 的子类不是必须覆盖
area()方法,如果没有覆盖,无论是什么对象,则图形面积总为0.0。
应该将 area()方法声明为抽象方法,在编译时 Java 会自动检查子类是否覆盖了抽象方法。如
果一个方法需要被子类覆盖,则必须声明为抽象方法。
【答】接口是一组抽象方法、常量和内嵌类型的集合。接口提供方法声明与方法实现相分离
的机制,使实现接口的多个类表现出共同的行为能力。
9. 接口能否被实例化?为什么?接口中能否写构造方法?为什么?
【答】接口不能被实例化,因为接口是声明的是抽象方法,没有方法体。接口中不能写构造
方法,因为构造方法不能声明为抽象方法。
【答】接口是引用类型,接口对象引用实现该接口的类的实例。
protected interface Area
{
public static int left;
public static final int RIGHT;
public Area() ;
//编译错,接口不能声明成员变量
//编译错,接口声明的最终变量必须赋值
//编译错,接口不能声明构造方法
//编译错,不能声明私有方法
private double area();
public static abstract double perimeter();
评论0
最新资源