第四章
名词解释:构造方法、抽象。
构造方法:一个与类同名的类方法
抽象:从具体实例中分离出来的行为步骤,用java来实现根据事物所具有的功能来创造类
对象位于内存何处?声明能引用对象的实质是什么?
对象位于栈内存中。
实质是在栈中保存了对象的地址
对象和基本数据类型作为参数传递时,有什么不同?
对象是按地址传递的,基本数据类型是按值传递的
对象在什么条件下成为垃圾?什么情况下释放垃圾对象?如何证明一个对象被释放了?
对象无任何引用时成为垃圾对象,即a=null;
虚拟机在系统资源不够的情况下才会回收垃圾对象
final修饰符都有什么作用?
当修饰属性时,表示该属性为常量
当修饰方法时,表示该方法为最终方法,在子类中不能被覆盖
static修饰的属性和方法有什么特点?
属性:类的静态数据成员,保存在类的内存区的公共存储单元
方法:static方法内部的代码只能访问类中的static属性或方法,不能直接访问类中的非static属性和方法,但非static方法可访问static数据成员。
Application程序执行时,为什么不能带后缀名?
因为java.exe执行时,是执行一个类
第五章
面向对象的主要特征是什么?
封装、继承、多态
封装时如何实现的?
通过访问控制和消息实现
对象之间如何相互作用?作用的条件是什么?
对象之间通过消息相互作用
条件:1 引用必须引用了特定对象。2对象必须定义了相应属性和方法、2权限必须为可访问
protected修饰符有何特点?
在类定义层面上,包中的类和所有子类可访问,在对象层面上,只有包中的类可访问。
Object类有哪些方法?
Object clone() //将当前对象克隆
boolean equals(Object obj) //判断两个引用是否指向同一个对象,其参数不能为基本数据类型
void finalize() //对象被释放时调用
重载的方法之间一般有什么关系?
重载的方法之间一般方法名称相同,参数类型或个数不同
子类覆盖父类方法需要什么条件?子类中定义与父类同名的方法一定是覆盖吗?
条件:子类的访问修饰符权限必须大于等于父类的访问修饰符权限
不一定