1.父类成员方法重写:子类中将父类的成员方法名称保留,重写成员方法实现内容,更改成员方法存储权限(只能从小范围到大范围的改变),或是修改成员方法的返回值类型(必须是父类同一方法返回值类型的子类)
特殊重写方式—重构:子类与父类的成员方法返回值、方法名称、参数类型及个数完全相同,唯一不同的是方法实现内容
向下转型(从父类到子类) Parallelogram p=(Parallelogram)q;将父类对象赋予子类对象并强制转换为子类型;必须显式类型转换,向编译器指明将父类对象转换为哪种类型的子对象,可通过 instanceof函数判断对象类型
6.方法重载(起源于构造方法)在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型(顺序)不同即可。
特殊重写方式—重构:子类与父类的成员方法返回值、方法名称、参数类型及个数完全相同,唯一不同的是方法实现内容
2.实例化子类对象时,Java编译器会在子类构造方法中自动调用父类的无参构造方法。有参构造方法并不能被自动调用,只能依赖于super关键字显式地调用父类的构造方法
4.在自定义的类中使用euals()方法进行比较时,默认实现使用“==”运算符比较两个对象引用地址,而不是比较对象的内容,需在自定义类中重写equals()方法实现比较对象的内容
向下转型(从父类到子类) Parallelogram p=(Parallelogram)q;将父类对象赋予子类对象并强制转换为子类型;必须显式类型转换,向编译器指明将父类对象转换为哪种类型的子对象,可通过 instanceof函数判断对象类型
6.方法重载(起源于构造方法)在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型(顺序)不同即可。
不定长参数方法 返回值 方法名(参数类型…参数名称) (int…a)→int[]a
7.抽象类与接口
抽象类:一般将父类定义为抽象类,abstract关键字定义,抽象方法没有方法体,抽象类被继承后需实现其中所有 抽象方法(某个不需要该抽象方法的子类也必须重写),并且类不能同时继承多个父类。
接口:抽象类的延伸,接口中所有方法都没有方法体,将不需要所有子类重写的方法放到接口中,interface关键字定义,接口中定义的方法必须定义为public或abstract,任何字段都自动是static和final。Java中不允许多重继承,但使用接口就可以实现多重继承,因为一个类可以同时实现多个接口,把需要继承的接口放置在implements关键字后并使用逗号隔开 class 类名,implements 接口1,接口2,…接口n