八、Java接口、继承和多态

1、类的继承

  1. 基于某个父类的扩展,制定出一个新的子类,子类可以继承父类原有的属性和方法,也可以增加原来父类所不具备的属性和方法。或者直接重写父类中的某些方法。
  2. 对于子类可以连同初始化父类进行子类的初始化操作。
  3. 也可以用super(),或者super关键字直接调用父类的成员方法等。但private无法调用。
  4. 重写:也就是覆盖,名称保留,但可以重写其中的实现内容,更改成员方法的存储权限,或是修改成员方法的返回类型。一种特殊的重写方式——重构:除了方法的实现内容不同其余都相同,称之为重构。

2、Object类

1、java中所有类都直接或者间接的继承自java.lang.Object类,也即它是所有类的父类。那么对于Object类中的部分方法也可以重写,但是定义为final类型的不可以。

3、对象的类型转换

3.1 向上转型

3.2 向下转型

4、 方法的重载

方法重载就是同一个名字的方法可以在一个类里出现多次

要求:

  1. 方法的类型不可以相同
  2. 方法的参数类型不同
  3. 参数个数不同
  4. 参数的顺序不同
  5. 以上都满足,才是一个方法具备唯一性。

5、抽象类和接口

5.1 抽象类

一般将父类定义为抽象类,需要使用这个父类进行继承与多态的处理。

public abstract class Test{<br> abstract void testAbstract(); }

其中,abstract是定义抽象类的关键字。

使用其定义的方法称之为抽象方法,定义的类称为抽象类。抽象方法没有方法体,方法本身也没有任何的意义,除非它被重写。而承载这个抽象方法 的抽象类必须被继承,因此,抽象类除了被继承之外没有任何的意义。

5.2 接口

接口是抽象类的延申,可以将他看作是纯粹的抽象类,接口中的所有方法都没有方法体。

public imterface drawTest{
	void draw(); //接口内的方法,省略abstract关键字
}

要求:

  1. 接口内定义的方法必须被定义为public和abstract形式,其他不被编译器认可,不声明也会默认为public和abstract
  2. 在接口中定义的任何字段都自动四static和final。

5.3 接口与继承

java中不允许多重继承,但使用接口就可以实现多重继承,因为一个类可以同时实现多个接口,这样可以将所有需要继承的几口放置在implements关键字后并使用逗号隔开。

注意:继承了一个接口就需要实现接口里面的所有的方法。也可以定义一个接口使该接口继承另外的接口。

implements imp1{
	···
}
implements imp2 extends imp1{
	···
}
谁不是孤身一人,翻山越岭
原文地址:https://www.cnblogs.com/hasz/p/12266077.html