zoukankan      html  css  js  c++  java
  • java 基础--继承--007

    1,子类只能继承父类所有非私有成员
    2,子类不能继承父类的构造方法,但可以通过super去访问父类构造方法
    3,子类成员变量和父类成员变量名称不一样,如果一样类似于重写,按子类处理,如果一样,就近原则
    
    3,如果想使用本类成员变量用this.XX 父类用super.XX(this:本类对应的引用,super:父类对应的引用(父类存储空间标识))
    4,子类中所有的构造方法都会默认访问父类中的无参构造方法,因为子类会继承父类中的数据,还会使用父类中的数据
      因此子类初始化前一定要先完成父类的初始化
      注意:子类每一个构造方法的第一条语句默认都是:super()
    5,父类没有无参构造方法,子类构造方法怎么办?
       1,在父类添加无参构造方法
       2,在子类中显示的使用带参super(“xxx”)去调用父类带参构造方法
       3,通过this去调用本类的其他构造方法,但是子类中一定要有一个去访问了父类的构造方法,否则父类数据没法初始化
    注意:this(...)/super(...)一定要出现在第一条语句上
         如果不是放在第一条语句上,就可能对父类的数据进行多次初始化
    举例
    class Father{
        public Father(String name){}
    }
    class Son extends Father{
        public Son(){
            super("xxx");
        }
        public Son(String name){        
              super("XXX");// 方法2,
              this();//方法3,同时将上句注释掉
           
        }
    }
    6,子类方法和父类方法声明一样,怎么办?
      1,先找子类中有没有这个方法,有就使用
      2,再找父类中有没有这个方法,没有就报错
    
    7,子类重写了父类的方法,但是还想用父类方法中的功能怎么办?
       使用super调用父类的被重写方法
    举例:
    class Father{
      public void call(String name){
           System.out.println("父类的方法")
       }
    }
    class Son extends Father{
        public void call(String name){
           super.call(name);
           System.out.println("子类的方法")
       }
    }
    
    8,1,父类私有方法不能被重写,因为私有方法无法被继承
       2,子类重写父类方法时,访问权限不能更低,最好一致
       3,父类的静态方法,子类也必须通过静态方法重写(父类为非静态),子类也不能为静态
       千言万语一句话:子类和父类保持一致
    
    class Father{
      public void call(String name){
           System.out.println("父类的方法")
       }
    }
    class Son extends Father{
       //子类不能覆盖父类方法 
       void call(String name){       
           System.out.println("子类的方法")
       }
    }
  • 相关阅读:
    管理经济学之第三章(消费者效用分析)
    管理经济学之第二章(供求分析)
    JVM之GC回收信息详解
    管理经济学之第一章(导论)
    JAVA的引用类型
    6.jQuery动画和队列,简单的queue()入队和dequeue()出队实现
    5.jQuery实现简单的on()和trigger()方法
    4.jQuery的clone()方法和data()方法
    3.jQuery操作DOM对象的方法
    2.jQuery简单实现get()和eq()和add()和end()方法
  • 原文地址:https://www.cnblogs.com/ysloong/p/6410657.html
Copyright © 2011-2022 走看看