1.
3种构成重载的条件:
参数类型不同、参数个数不同、参数顺序不同
只有返回值类型不同并不足以区分两个方法的重载。
2.
import关键字除了导入包之外,还可以导入静态成员,这是JDK 5.0以上版本提供的新功能。导入静态成员可以使程序员编程更加方便
package com.lzw; import static java.lang.Math.max; import static java.lang.System.out; public class ImportTest { public static void main(String[] args) { out.println("1和4的较大值是:" + max(1, 4)); } }
3.
final关键字定义的变量必须在声明时对其进行赋值操作。final除了可以修饰基本数据类型的常量,还可以修饰对象引用。
被定义为final的常量,定义时需要使用大写字母命名,并且中间使用下划线进行连接,这是Java中的编码规则。
同时,被定义为final的数据无论是常量、对象引用还是数组,在主函数中都不可以改变。
我们知道:一个被定义为final的对象引用只能指向唯一一个对象,不可以将它再指向其它对象,但是一个对象本身的值却是可以改变的,那么为了使一个常量真正做到不可更改,可以将常量声明为static final
4.
将方法定义为final类型可以防止子类修改该类的定义与实现方式,同时定义为final的方法的执行效率要高于非final方法。
如果希望一个类不允许任何类继承,并且不允许其他人对这个类进行任何改动,可以将这个类设置为final形式。如果将某个类设置为final形式,则类中的所有方法都被隐式的设置为final形式,但是final类中的成员变量可以被定义为final或非final形式。
5.
内部类,可以分为成员内部类、局部内部类以及匿名内部类。
应该明确这一点:在内存中,所有的对象均被放置在堆中;方法和方法中的变量被放置在栈中。
6.
异常是一个在程序执行期间发生的事件,它中断了正在执行的程序的正常指令流。
Java语言是一门面向对象的编程语言,因此,异常在Java语言中也是作为类的实例的形式出现的。当某一方法中发生错误时,这个方法会创建一个异常对象,并且把它传递给正在运行的系统。
在Java中,如果某个方法抛出异常,既可以在当前方法中进行捕捉,然后处理该异常;也可以将异常向上抛出,由方法调用者来处理。
7.
在以下4种特殊情况下,finally块不会被执行:
a 在finally语句块中发生了异常
b 在前面的代码中使用System.exit()退出程序
c 程序所在的线程死亡
d 关闭CPU
8.
集合类与数组的区别:数组长度固定,集合长度可变
List集合包括List接口以及List接口的所有实现类。List集合中的元素允许重复,各元素的顺序就是对象插入的顺序。
Set集合中的对象不按特定的方式排序,只是简单地把对象加入集合中,但Set集合中不能包含重复对象。Set接口常用的实现类有HashSet类和TreeSet类。
Map集合没有继承Collection接口,其提供的是key到value的映射。Map中不能包含相同的key,每个key只能映射一个value。Map接口常用的实现类有HashMap类和TreeMap类。
9.
Java语言定义了了许多类专门负责各种方式的输入/输出,这些类都放在java.io包中。
所有的输入流都是抽象类InputStream(字节输入流)或者抽象类Reader(字符输入流)的子类;所有的输出流都是抽象类OutputStream(字节输出流)或者抽象类Writer(字符输出流)的子类。
10.
File类是java.io包中唯一代表磁盘文件本身的对象。