zoukankan      html  css  js  c++  java
  • super关键字——Java面向对象基础(15)

    一、super

      1.super指代父类

      2.super.***引用父类中的属性

      3.super.***(***)引用父类中的方法

      4.super(***)使用父类中的构造方法

    public class Father{
        int money=500;
        public Father(){
            System.out.println("父类的构造方法");
        }
        public void fatherDo(){
            System.out.println("父类的方法");
        }
    }
    public class Son extends Father{
        int money=300;
        public Son(){
            super();//调用父类的构造方法
            System.out.println("子类的构造方法");
        }
        public void sonDo(){
            super.fatherDo();//使用父类的方法
            System.out.println("父类的属性:"+super.money);//调用父类的属性
            
        }
    }

      5.需要注意的是,使用父类的构造方法必须要在子类构造方法第一行

     

       6.还需要注意的是,子类默认调用父类的无参构造。倘若父类只写了有参构造,而没有写无参,并且子类中没有手工调用有参构造或者调用了无参构造就会报错

     

     二、super与this的区别

      1.super指代父类,this指代当前类(调用语法相同)

      2.同样的地方是,super(***)与this(***)需要在当前类的构造函数的第一行,否则会报错。

  • 相关阅读:
    吊打XXX
    [CQOI2011]动态逆序对
    陌上花开
    【BOI2007】摩基亚Mokia
    [SCOI2008]奖励关
    最小生成树
    打表
    【中学高级本】倒酒
    整数合并
    韩信点兵
  • 原文地址:https://www.cnblogs.com/Unlimited-Rain/p/12489175.html
Copyright © 2011-2022 走看看