17#面向对象特征:继承

17.1继承

  • extends关键字

  • 好处:
    1:提高了代码的复用性
    2:使类与类之间产生了关系,提供了多态的前提

  • 注意:
    1:只支持单继承
    2:多个类可以继承同一个类
    3 :Java支持多层继承,多重继承

  • 继承体系图
    继承

  • 继承后的成员变量
    子类有使用自己的,子类没有使用父类的。

    class Zi extends Fu {
       int i = 2;
       public void show(){ 
            int i = 3;
            System.out.println(this.i);   //此时调用的是成员变量。
       }          
    }
    
  • 关键字super
    当父类和子类出现同名的成员变量时,在子类中若要访问父类中的成员变量,必须使用关键字super。

    class Fu{
        int a = 30;   
    }
    class Zi extends Fu {
        int a = 20;
        public void show() {
           int a = 40;
           System.out.println(super.i);  //此时调用的父类的成员变量。 
        }
    } 
    
  • 一些称呼
    子类:派生类
    父类:超类,基类

  • this和super的小总结
    this调用的是本类的成员
    super调用的是自己的父类成员

  • 子父类中成员方法的特点-重写&应用
    调用方法时:
    子类有用子类,子类没有用父类
    重写方法时:
    子类和父类出现了一样的方法,子类重写父类的方法

  • 重写父类注意事项
    1:保证子类重写的方法访问权限大于父类的。
    2:返回值,函数名,参数列表必须一模一样。

class Fu {
   void show() { }
   public void method(){ }
}
class Zi {
   public 
}
  • Java四大权限
    public,protected,default(默认<不能写>),private

    扫描二维码关注公众号,回复: 4987476 查看本文章
  • 名词:方法体&类主体

17.2抽象类

  • 特点:不能被实例化
  • 使用:创建子类继承,在子类中重写抽象方法;若子类不重写,子类还是一个抽象类。或者若子类只重写了父类的一部分抽象方法,这个子类还是一个抽象类。抽象类的继承
  • 抽象类的一些细节:
    抽象类一定是一个父类,是不断抽取而来的。
    抽象类可以有方法体的方法(不是抽象方法),可被子类使用。
    abstract不可以与private,final和static一起使用。(私有了子类就继承不了)

猜你喜欢

转载自blog.csdn.net/weixin_43660263/article/details/86527706
今日推荐