继承
12.向上转型
父类 对象 = new 子类();
如A是父类,B类继承了A类,向上转型可以表示为:
A a = new B();
如果父类和子类中有同样的方法时,a.方法()会调用子类中的方法,因为父类引用a指向的是子类对象new B(),所以实际上还是调用的子类的方法。
如果子类中有特有的方法时,通过向上转型,就会丢失掉子类特有的方法。
13.向下转型
父类 对象1 = new 子类();
子类 对象2 = (子类)对象1;
把指向子类对象的父类引用赋值给子类引用叫做向下转型,需要用到强制转换。
14.instanceof函数,判断某一对象是否是某一类的实例,myobject instanceof ExampleClass
15.重载:方法名相同,参数类型或参数个数或参数顺序不同(p189)
(重写(覆盖):在子类中将父类的成员方法的名称保留,重写成员方法的实现内容,更改成员方法的存储权限(从小范围向大范围修改),或者是修改成员方法的返回值类型(必须是父类中同一方法返回值类型的子类))
(重构:子类与父类的成员方法只有方法实现内容不同,其余均相同)
16. 不定长方法:返回值 方法名(参数数据类型...参数名称)
多态(待深入学习)
接口
1.抽象类:abstract修饰
2.抽象方法必须在抽象类中被定义
3.接口是实现多重继承的一种途径,一个类可以实现多个接口(也就是说可以继承多个接口这种特殊的类)
4.用interface定义接口,用implements实现接口
5.接口像类一样可以用权限修饰符修饰,但public关键字仅限于用于接口在与其同名的文件中被定义
6.接口中定义的方法必须被定义为public和abstract形式
7.接口中定义的任何字段都自动是static和final