重载方法的要求:方法名相同,参数类型,顺序和个数不同,对返回值类型和访问修饰符没有要求
显式域初始化,在类定义中可以直接对域赋值,class A{private int a = 5;A(){};}在执行构造器之前,先进行赋值操作。当一个类的所有构造器都希望把相同的值赋予某个特定的实例域时,这种方法很有用
this引用方法的隐式参数
构造器里调用其他构造器,要在这个构造器里第一行语句调用 采用这种方式使用关键字this非常有用,这样对公共的构造器代码部分只编写一次即可
初始化数据域的方法:
在构造器中设置值,在声明中赋值,初始化块
调用构造器的具体处理步骤:
所有数据域被初始化为默认值
按照在类声明中出现的次序,依次执行所有域初始化语句和初始化块
如果构造器第一行调用第二个构造器,则执行第二个构造器主体
执行这个构造器的主体
静态域的初始化:
直接赋值 private static int a = 5;
如果对静态域初始化的代码比较复杂,使用静态的初始化块 static{复杂代码}
类的导入:
import 类;
直接使用类的完整名字 如:java.util.Date deadline = new java.util.Date();
如果引入多个包,里面有相同的类,那么在使用那个类时就要明确指出是哪个包的,有两种解决办法:
import+完整的类名 import java.util.Date
直接使用类的完整名字
类文件中的字节码是使用完整的包名来引用其他类
静态导入:import语句不仅可以导入类,还可以导入静态方法和静态域,在使用时就不用增加类名前缀 如 import static java.lang.Math.* 记住要加static
编译运行源文件时要在所有涉及到的源文件的基目录下才行,否则运行时会出错,找不到类文件
当类文件不在同一目录下或者手工加载类时没有注意类的路径问题,设置类路径是个很复杂的问题,这里不做说明