八接口继承和多态
Posted hasz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了八接口继承和多态相关的知识,希望对你有一定的参考价值。
1、类的继承
- 基于某个父类的扩展,制定出一个新的子类,子类可以继承父类原有的属性和方法,也可以增加原来父类所不具备的属性和方法。或者直接重写父类中的某些方法。
- 对于子类可以连同初始化父类进行子类的初始化操作。
- 也可以用super(),或者super关键字直接调用父类的成员方法等。但
private
无法调用。 - 重写:也就是覆盖,名称保留,但可以重写其中的实现内容,更改成员方法的存储权限,或是修改成员方法的返回类型。一种特殊的重写方式——重构:除了方法的实现内容不同其余都相同,称之为重构。
2、Object类
1、java中所有类都直接或者间接的继承自java.lang.Object类,也即它是所有类的父类。那么对于Object类中的部分方法也可以重写,但是定义为final类型的不可以。
3、对象的类型转换
3.1 向上转型
3.2 向下转型
4、 方法的重载
方法重载就是同一个名字的方法可以在一个类里出现多次
要求:
- 方法的类型不可以相同
- 方法的参数类型不同
- 参数个数不同
- 参数的顺序不同
- 以上都满足,才是一个方法具备唯一性。
5、抽象类和接口
5.1 抽象类
一般将父类定义为抽象类,需要使用这个父类进行继承与多态的处理。
public abstract class Test{<br> abstract void testAbstract(); }
其中,abstract是定义抽象类的关键字。
使用其定义的方法称之为抽象方法,定义的类称为抽象类。抽象方法没有方法体,方法本身也没有任何的意义,除非它被重写。而承载这个抽象方法 的抽象类必须被继承,因此,抽象类除了被继承之外没有任何的意义。
5.2 接口
接口是抽象类的延申,可以将他看作是纯粹的抽象类,接口中的所有方法都没有方法体。
public imterface drawTest{
void draw(); //接口内的方法,省略abstract关键字
}
要求:
- 接口内定义的方法必须被定义为public和abstract形式,其他不被编译器认可,不声明也会默认为public和abstract
- 在接口中定义的任何字段都自动四static和final。
5.3 接口与继承
java中不允许多重继承,但使用接口就可以实现多重继承,因为一个类可以同时实现多个接口,这样可以将所有需要继承的几口放置在implements关键字后并使用逗号隔开。
注意:继承了一个接口就需要实现接口里面的所有的方法。也可以定义一个接口使该接口继承另外的接口。
implements imp1{
···
}
implements imp2 extends imp1{
···
}
以上是关于八接口继承和多态的主要内容,如果未能解决你的问题,请参考以下文章