1.函数的重写
注意事项:
(1)重写的前提是继承或实现。
(2)重写的原因:父类方法无法满足子类的需求。
条件:
(1)方法名必须相同
(2)子类的修饰词必须大于等于父类的(public、private、、、)
(3)子类的返回类型必须小于等于父类的
(4)子类抛出的异常必须小于等于父类的
2.final:代表最终的
(1)final在修饰成员变量时,不能被更改
(2)final在修饰引用数据类型时,引用变量不能重新赋值
(3)final修饰的方法不能被子类重写
(4)final修饰的类不能被继承
3. abstact抽象:
注意事项:
(1)abstract修饰的方法是抽象方法
(2)当父类的方法不能定义子类具体的需求,采用抽象的方法
(3)当有抽象方法时,该类必须为抽象类
(4)抽象类就是特殊类
(5)抽象类中可以有抽象方法和非抽象方法
(6)父类抽象的方法必须被子类所重写
(7)抽象类中可以不存在抽象方法
(8)抽象类不能直接实例化对象,可以借助子类创建对象
创建对象注意:
(1)abstract和private不能组合使用
(2)abstract和static不能组合使用
(3)abstract和final不能组合使用
4.接口:拓展功能和书写规范 interface implements
注意事项:
(1)接门也是一个类,只不过是特殊的类。
(2)接口中只能存在常量,没有变量。默认自动添加:public static final。
(3)只有抽象方法,没有非抽象方法。默认自动添加:public abstract。
(4)没有构造方法。
(5)不能实例化对象。
(6)类在实现接门时必须全部重写接口中的抽象方法。
(7)接口可以多实现。
5.接口与接口之间的关系:
(1)接口与接口之间是继承关系;
(2)接口可以多实现。
类与接口之间的关系:
(1)非抽象类实现接口,全部重写抽象方法;
(2)抽象类实现接口时,可以重写抽象方法,也可以不重写抽象方法。
6.多态:父类的引用变量指向子类的引用空间。
person p1=new Person();
多态的前提是继承和实现。
注意事项:
(1)调用非静态变量时,指向的是父类的
(2)调用静态变量时,指向的是父类的
(3)调用非静态方法时,指向的是子头
(4)调用静态方法时,指向的是父类
(5)我们在调用子类独有的方法时,需要向下转型
7.Object
类 Object 是类层次结构的根类。
equals(Object obj) 指示其他某个对象是否与此对象“相等”。 比较地址值
hashCode() 返回该对象的哈希码值。
toString() 返回该对象的字符串表示。
8.泛型
* byte = Byte * short = Short * int = Integer * long = Long * float = Float * double = Double * char = Char * boolean = Boolean