1、垃圾回收GC回收什么样的对象?
回收没有被变量指向的对象。
2、什么是包?包的作用是什么?如何导入别的包中的类?什么样的类不需要导入?
包就是文件夹。通过包可以组织相关的类、可以作到信息隐藏。
import 类的全路径;(包名+类名)
本包中的类和java.lang.*无需导入可以直接使用。
3、静态方法能直接调用成员方法或属性吗?为什么?
不行。静态的东西加载时机在对象之前。
4、当传递和返回对象,传递和返回的是什么?
引用。
5、什么是构造方法?构造方法的作用是什么?
构造方法的方法名和类名相同,没有返回类型。
作用:1、为对象分配空间
2、如果该类没有加载,则加载类。
3、初始化成员变量
4、返回引用。
6、创建对象有几种方式?
new 类名(); 反射:Class对象.newInstance() 克隆(通过Object中clone())
反序列化(调用ObjectInputStream中readObject())
7、this和super各代表什么含义?
this表示当前对象。super表示父类对象。
8、数组如何定义?数组、字符串、集合各自的长度如何获得?
int[] I = new int[3]; int[] I = {1,2,3};
数组长度:length属性
字符串长度:length()方法
集合长度:size()方法
9、数组有哪些特点?
1、 数组是一个连续的空间,通过下标访问元素,下标从0开始,最大下标为长度-1;
2、 数组的元素都是变量,变量的类型就是定义数组的类型。
3、 数组的元素在创建时都会做初始化。int----0 double----0.0 引用类型----null
4、 数组的长度不可改变。
10、私有属性+get/set方法和公有属性的区别
私有属性+get/set方法,可以在设置属性值之前,做出数据合法性验证,公有属性无法做到。
私有属性+get/set方法,可以删除get或set方法,让属性成为只读或只写属性,公有属性无法做到。
11、继承用什么关键字?子类继承父类,构造方法第一句应该如何书写?
继承使用extends关键字。子类继承父类,构造方法第一句是super(),产生父类对象,在父类对象基础上扩展子类的方法和属性。
12、重写和重载的区别是什么?重写有什么要求?
重载发生在同一个类中,方法名相同,参数列表不同(参数的类型、参数的个数、参数的顺序),和返回类型无关。
重写发生在父类和子类之间。方法名相同,参数列表相同,返回类型也相同。访问修饰符子类要大于或等于父类,而抛出的异常,子类要小于或等于父类。子类重写了父类的方法,在调用时会优先调用子类重写的方法。
13、Java中一个类能同时继承多个类吗?所有类的父类是什么?
不能,在java中类只能单根继承,所有类的父类是Object。