类与继承总结

 

  上周最后一节课,我们学习了类与继承这一章,这一章主要是对之前简单类的使用的更深层次的讲解,下面对这一章之前学过的内容小小总结一下:

 

一、为什么要用类的继承

  在我们编写代码的时候,经常需要定义许多的类,有时候就会包括一种子类和父类的关系,这时候我们就需要使用类的继承。

  1. 由于子类拥有比父类更多的属性和方法,我们就需要使用类的继承,首先让子类继承父类的属性和方法,然后还可以在子类里继续定义子类自己拥有的而父类不拥有的属性和方法;
  2. 使用类的继承,因为在子类里面不用重新定义已经在父类里面拥有的方法和属性,这样能够大大提高代码的重用性,而不用重复很多一样的代码,同时也能提高程序的扩展性;

二、JAVA中的继承的语法格式

java中继承的关键字是“extends”,继承的格式是:

 

Public class 类名(子类名) extends 类名(父类名){

 

}

子类和父类有时候也叫基类和超类。

三、类的继承中子类继承到了父类的什么?

如果说“UNStudent继承了Student类”,UNStudent就是子类,Student就是父类,当使用过类的继承后,UNStudent类中就自动有了Student中定义的属性和方法。

 

所以在类的继承之后,子类可以继承到:父类的所有的属性和方法(但是不包括父类里面的构造方法)

PS:在子类中能调用的属性和方法有:

①当子类和父类建在同一个包下:

子类、子类对象不能调用:私有的属性、私有的方法(private

子类、子类对象能调用:默认的、受保护的(protected)、公有的(public)属性和方法

②当子类和父类不在同一个包下:

子类、子类对象不能调用:私有的、默认的属性和方法

子类、子类对象能调用:公有的属性和方法,受保护的属性和方法能被子类调用

四、方法的重写

1.为什么要使用方法的重写?

在子类中有时候会调用父类中的方法,但有时候子类有父类中没有的方法,这时候就需要对方法进行重写,方法的定义不变,但是内部实现却与父类不同;

2.方法重写的条件

①返回值类型,方法名,参数个数,参数类型,参数顺序必须要相同

②访问修饰符:子类重写方法的访问修饰分可以大于或者等于父类方法的访问修饰符

默认的,protected  可以修改为  public 

Private不可以被重写

3.区分调用的是子类的方法还是父类的方法?

若在子类里重写了方法,会优先调用子类里的方法,要是没有重写,则调用父类中的方法。

条件:new的对象必须要是子类的对象。

五、对象的自动转型

自动转型:指的是子类对象会自动转变为父类类型

格式:

父类名 对象名=new 子类构造方法();

最后会出现不能调用子类自己定义的方法,这是由java的编译机制引起的(但是可以提高代码的重用性)

 

六、多态

多态:相同类型的对象调用相同方法的时候,由于继承的重写机制,得到的结果不一定一样。

多态是由Java的方法重载,继承,方法重写,自动转型等技术的组合。

 

 

 

<!--EndFragment-->

猜你喜欢

转载自527687724.iteye.com/blog/1836480
今日推荐