01、path 和 classpath 两者的意义是什么?如何配置? path 表示操作系统寻找本地可执行文件的目录
列表。 classpath 表示引入所需要 的库文件。 02、构造方法的特殊之处在哪里? 1.与类同名 2.没有返回值,也无需加 void 3.用 new 来调用 4.
系统会默认的构造方法,但是当显式创建构造方法时,默认的失效。 03、
Java 的类的成员的初始化顺序如何?什么是缓式初始化? 1.初始化类的成员变量 2.初始化类的构造方法 3.对象的普通方法 (普通方法--缓式初始化) 04、数组的初始化有几种方式?动态初始化有哪些步骤? 两种,一种是静态初始化,一种是动态初始化。 1.声明数据类型 2.分配空间 3.赋值 05、面向对象的特性是什么?具体每一个特性的含义? 1.封装 2.继承 3.多态 封装: 1.把相同事物抽象为类,由对象来实现。 2.把类封装成包, 包的结构对应文件夹的目录结构--package 包 名 3.隐藏实现的细节 4.访问权限的限制 public 包外,包内部可用 什么都不写,(friendly),包内可用,包外不可用。 private 只能在本类中使用。 protected 包外不可用,但可被包外的子类继承。 继承:代码复用: 1.子类自动拥有父类中(非私有的)属性和功能。 2.子类可以拥有自己特有的属性和功能。 3.子类可以重写父类的功能。 多态:扩展性强 1.子类可以以父类身份出现。 2.子类调用父类同名方法时,以自己方式去实现。 3.子类以父类身份出现时,自己特用功能不可用。 06、方法重载与方法重写的区别是什么?两者的作用又是什么?
方法重载:同一个类中,方法名相同,方法体不同,参数不同; 方法重写:不同类中,方法名相同,方法体不同,参数相同。 07、什么是名称遮蔽?什么是虚方法调用?如何绕过名称遮蔽和虚方法调用? 名称遮蔽:子类中的成员变量名与父类的成员变量名相同,父类的变量失效。虚 方法:子类调用父类的构造方法。绕开名称遮蔽:用 super.变量名表示该父类的 变量。绕开虚方法调用:用 super(参数)调用,且为是该构造方法的第一件事。 08、接口与抽象类的区别是什么?接口中的成员有何特点?java 有多重继承么? interface 接口 1.所有方法都是抽象方法,无需加 abstract, 接口中所有方法都是抽象方法 2.接口可实现多重继承 3.接口中的变量都是常量 抽象类: 1.不能被实例化,由子类身份实现 2.有抽象方法的类,一定是抽象类 3.子类必须重写抽象类的抽象方法,否则子类声明为抽象类。 抽象类不一定有抽象方法,抽象方法不带方法体。有抽象方法,一定声明为抽象 类,抽象类不一定都是抽象方法,也可以带有具体方法。
09、static 关键字的意义是什么? 1.由
static 修饰的变量,是类成员,表示的是类的共量,与某个对象无关,调 用时,格式: 类.成员 类.成员 2.不管创建多少实例,都指向同一内存空间,静态空间。 3.在 static 上下文中,不能直接调用非 static 成员。 4.static 语句块中的内容是用来初始化的,不是用来声明变量的。在类的初始 化时执行一次。
10、final 关键字的意义是什么?修饰变量、对象、方法和类时有何不同? 1.修饰基本数据类型,表示的是常量。 编译期常量。 执行期常量。 --由 final 修饰时, 会因为实例的不同, 值会不同。 但加 static 后,值不变。
2. 修饰类类型,值可变,引用不能变。 3. 修饰数组时,值可变,引用不能变。 4. 修饰方法。可以被继承,但不能被重写。 5. 修饰参数,引用不可变,值也不可变。 11、java 的异常处理机制是什么?哪些异常必须捕获?获取异常信息的
常用方 法。 try { 可能发生的异常 } catch ( 异常的类型 e ) { } finally{ } IOException--必须捕获 finally 不管异常是否发生,都会执行。 throws 当一个方法不处理异常,由该方法的调用者处理。
throws myException()-->对类抛出 throws new myException()-->对方法抛出 e.printStackTrace() 打印堆栈的信息 12、两大集合类的区别是什么?Iterator 的作用是什么? List 类可以重复 Set 类不可以重复 Iterator 是对集合进行迭代的迭代器。