类的继承

2017-07-12  本文已影响0人  蛤星人丨冬马和纱

继承的概念

继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

生活中的继承:

兔子和羊属于食草动物类,狮子和豹属于食肉动物类。

食草动物和食肉动物又是属于动物类。

所以继承需要符合的关系是:is-a,父类更通用,子类更具体。

虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。

继承的特性

子类拥有父类所有属性,方法。

子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

子类可以用自己的方式实现父类的方法。

Java的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如A类继承B类,B类继承C类,所以按照关系就是C类是B类的父类,B类是A类的父类,这是java继承区别于C++继承的一个特性。

提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系)。

访问修饰符的作用是用来定义属性和方法的访问权限。

java 中若要在子类调用父类的方法,需使用关键字super。

实例

class Animal{

void go(){

System.out.println("animal go");

}

}

class Dog extends Animal{

void go(){

//调用父类方法

super.go();

}

}

//驱动函数

public static void  main(String[] args){

Dog dog=new Dog();

dog.go();

}

方法重写

1.需要使用方法重写

父类中存在这个方法,但是子类也有这个方法,但是子类方法的具体实现和父类中

的方法不同,此时就需要使用方法重写。

2.实现方法重写的条件:

1.必须要存在继承关系;

2.子类在重写父类中的方法时,子类方法的访问修饰符>=父类方法的访问修饰符。

3.子类在重写父类中的方法时,子类方法的返回值类型,方法名,参数都必须要和父 类的完全一致。

3.调用重写的方法

根据new关键字后的类名来决定,如果类名是子类的,则优先执行子类的方法, 若子类没有这个方法,才会调用父类中的方法。

4.在重写的方法中使用super关键字来调用父类中的方法,使父类的方法和子类的方法都 执行实现

自动转型(必须要有继承关系)

1.子类的类型—>父类的类型

小范围的数据—>大范围的数据

byte(8bit),short(16bit),int(32bit),long(64bit)

2.格式

自动转型的格式一:

父类名 对象名 = new 子类构造方法(参数值,...);

自动转型的格式二:

public 返回值类型 方法名(父类名 对象名){

对象名.方法名();

}

注意:使用自动转型后,无法调用子类特有的属性和方法。

因为Java的编译机制的问题:Java在编译的是编译的是文件

上一篇下一篇

猜你喜欢

热点阅读