zoukankan      html  css  js  c++  java
  • JavaOOP-继承

    继承

    1.继承的概念

          继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。

          继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承于类A,那么B就拥有A的方法和属性。

    2.继承的关键字

        继承使用extends关键字。

         示例:

    1 public class Dog extends Pet{
    2     //狗类
    3 }

    3.在子类中访问父类成员

       使用super关键字,super关键字代表父类对象

       访问父类构造方法:

          super();//访问无参构造。必须是子类无参构造的第一句。

          实例化子类对象,默认先执行父类的无参数构造,再执行子类的无参数构造。

          super(name,age,sex);//访问有参构造

          实例化子类的有参构造时,使用super( )重复调用父类中的有参数构造,默认直接调用父类中的有参数构造,不会调用父类中的无参数构造

       访问父类属性:

          super.name;

       访问父类方法:

          super.print();

    4.子类不能继承父类的成员有哪些?

        1.private修饰的。

        2.子类与父类不在同一包中,使用默认访问权限的成员。

        3.构造方法。

    5.访问修饰符

        protected:可以修饰属性和方法,本类、同包、子类可以访问。

         访问修饰符总结

          

    符文修饰符 本类 同包 子类 其他
    private    √        
    默认(friendly)    √    √      
    protected    √    √    √  
    public    √    √    √    √

    6.方法重写

       1).方法重写:又称方法的覆盖(overriding)

       2).方法重写必须满足一下要求:

           重写方法和被重写方法必须具有相同的方法名。

           重写方法和被重写方法必须具有相同的参数列表。

          重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类

          重写方法不能缩小被重写方法的访问权限。
       3).方法重载与方法重写的区别
     
      位置 方法名 参数表 返回值 访问修饰符
    方法重写 子类 相同 相同 相同或是其子类 不能比父类更严格
    方法重载 同类 相同 不相同 无关 无关
     7.抽象类
        定义抽象类关键字:abstract
        抽象类的优点:
         抽象类不能被实例化。
         可以有多个抽象方法。
    8.抽象方法
        abstract也可定义方法为抽象方法。
        抽象方法优点:
         抽象方法没有方法体。
         抽象方法必须在抽象类中。
         子类必须重写父类中的抽象方法(除非子类也是抽象类)。
    9.final修饰符
        final修饰符的作用。
          修饰的类不能在继承。
          修饰的方法不能被重写。
          修饰的属性为常量,不能更改初始值。
     

    (完)

    2018-02-28  12:46:04

    作者:Call_迪迦

    每日一句:

    生活总是这样,不能叫人处处都满意。但我们还要热情地活下去。人活一生,值得爱的东西很多,不要因为一个不满意,就灰心丧气

  • 相关阅读:
    查看系统的所有port的状态
    python技巧26[python的egg包的安装和制作]
    python类库31[进程subprocess与管道pipe]
    [BuildRelease Management]hudson插件
    python类库31[使用xml.etree.ElementTree读写xml]
    开机自动运行VMWare
    python实例26[计算MD5]
    2021年最新大厂php+go面试题集(四)
    Jumpserver开源跳板机系统
    报错:ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or director(亲测可用)
  • 原文地址:https://www.cnblogs.com/javahenku/p/8483004.html
Copyright © 2011-2022 走看看