面向对象之继承

方法重写

当子类出现和父类一模一样的方法时,子类对象调用该方法,会运行子类方法的内容,如同父类的方法被覆盖一样。这种情况是方法的另一类特征——重写。

覆盖的应用

当子类需要父类的功能,而功能主体子类有自己持有内容时,可以复写父类的方法,这样,既沿袭了父类的功能,又定义了子类持有的功能。


方法重写的规则

方法名相同

形参列表相同

子类的方法的返回值类型应该比父类的返回值类型更小或相等

子类方法抛出的异常类应该比父类抛出的异常类更小或相等

子类方法的访问权限应该比父类方法访问权限更大或相等


super关键字

a.super和this的用法很像

b.this代表本类对象的引用

c.super代表父类的内存空间的标识

d.当子父类出现同名成员时,可以用super进行区分

e.可以使用super语句


继承的好处:

1,提高了代码的复用性;

2,让类与类之间产生了关系,给第三个特征多态提供了前提


继承的特点:

1,子类拥有父类的非private的属性和方法

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

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

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

5,提高了类之间的耦合性


[java]  view plain  copy
  1. public class Brid {  
  2.     String featherColor;  
  3.     String wing;  
  4.     int age;  
  5.   
  6.     public Brid() {  
  7.   
  8.     }  
  9.   
  10.     public void fly() {  
  11.   
  12.     }  
  13.   
  14.     public void jump() {  
  15.   
  16.     }  
  17.   
  18.     public void eat() {  
  19.   
  20.     }  
  21. }  
[java]  view plain  copy
  1. package com.lenovo.bridepopple;  
  2.   
  3. public class Dayan extends Brid{  
  4.     String big;  
  5.     String coverage;  
  6.       
  7.     public void paidui() {  
  8.           
  9.     }  
  10. }  

[java]  view plain  copy
  1. public class Haiou {  
  2.     String sea;  
  3.       
  4.     public void catchFish() {  
  5.           
  6.     }  
  7. }  

你可能感兴趣的:(面向对象之继承)