首页 > 代码库 > 答辩2

答辩2

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。

答辩2