1、方法在复写时,子类中的控制符的范围必须比父类中大或相等。
子类复写的方法必须比父类中的抛出异常的范围小。
2、多态 -----当子类继承父类时,当用new 创建子类对象时,并赋值给父类的应用,用父类的引用去调用变量时都是调用父类中的变量,如果子类复写的是父类中的静态方法也是 调用父类中的静态方法,如果是复写父类中的实例方法,在用父类的引用去调用时是调用子类中的方法。因为java多态只针对实例方法。
3、子类中的构造函数的参数只能比父类中构造函数的参数多或相等。
4、this / super 只能在构造方法中和实例方法中使用。
super 可以理解为父类的实例对象,this可以理解为子类实例对象。
5、final修饰的方法不能被重写,但可以被重载。
6、抽象类可以继承普通类,当意义不大。
7、格式化时间
Date d = new Date();
SimpleDateFormate sdf = new SimpleDateFormate("yyyy-MM-dd, yyyy年MM月dd日,HH:mm:ss");
String s = sdf.format(d);
8、API中某类后有Impl 基本上都是实现了接口。
接口中的方法都是抽象方法,接口中的常量都是公有的常量,定义时必须被赋值。
一个类如果实现一个接口,则要实现接口中的所有方法,一个类如果实现多个接口,则接口中相同的方法会被覆盖掉。
什么时候用接口什么时候用抽象类?:共同特征写成抽象类,实现方法写成接口
9、内部类
当一个程序的某个模块内聚性较强的时候,使用内部类。
非静态内部类中可以定义非静态变量,以及有final修饰的常量。
静态内部类中只能调用外围的静态常量,不能调用非静态外部内中的方法和属性。
内部类可以继承外部类和其他类,也能实现接口,但意义不大