1.Java中的类型转换
子--->父(自动转换):安全的
父--->子(强制转换):不安全,父类可能有很多个子类,父类不知道转换到哪一个子类上去
2.作用域由花括号的位置决定
3.当变量作为类的成员使用时,有默认值;
局部变量的值是任意的,如果没有初始化一个值,Java在编译时会返回一个错误;
static修饰的变量,该变量只有一份存储空间;
4.如果返回void中没有return语句,那么在该方法的结尾会有一个隐式的return
5.怎么样才能从方法的内部获取当前对象的引用?
编译器会将当前对象的引用传递给,要调用的方法,方法内部由this来接收当前对象的引用;
6.可以在构造方法中使用this调用其他的构造方法,在当前构造方法中只能调用一个其他的构造方法
7.即使成员变量定义在方法之间,成员变量会在任何方法(包括构造方法)被调用之前得到初始化,例如:
先静态成员对象(类加载后便初始化,初始化一次),然后”非静态“对象(创建对象时初始化,对象创建一次初始化一次):
静态代码块,类加载时执行一次:
代码块:每一次加载类都要执行:
8.枚举类型的遍历:
9.super:当创建了一个子类的对象时,该对象包含了一个父类的子对象,子对象的引用用super
存储;如果B类有方法,可以在B类的子类C类中的构造方法中使用super.B类方法名,进行调用子类的父类的方法
10. 类与类的继承
如果必须要子类向父类进行向上转型,则继承是必须的
11.java中所有的方法都是通过动态绑定实现多态,作用:将改变的事物与未改变的事物分离
12.成员变量和静态方法是不具备多态的:
13.Java中的构造方法其实是static方法,只不过该static声明是隐式的
14.在一个类中:先初始化static成员变量--->main方法----->该对象类的构造方法--->普通成员变量
15.在构造方法类唯一能够安全调用的那些方法是父类中final或private方法,因为这种方法不会被继承,在使用多态时只能调用本类的方法。