java中super关键字

1、在对象的内部使用,可以代表父类对象。

      a、访问父类的属性

             super.age

      b、访问父类的方法

             super.eat()



public class Animal{

     public  int  age = 10;

     public  string  name;

     public void eat(){

        System.out.println("动物可以吃东西")

    }

}


public  class Dog  extends  Animal{

       public int age = 20;

       public void eat(){

        System.out.println("狗可以吃东西")

     }

       public void method(){

          System.out.println(super.age)

     }

}


public class Initail{


  public static void main(String【】 args){

    Dog  dog = new Dog();

    dog.method();

   }

}

输出结果:10




2、子类的构造过程中必须调用其父类的构造方法



public class Animal{

     public  int  age;

     public  string  name;

     public void eat(){

        System.out.println(" 年龄"+age+"动物可以吃东西")

    }

    public Animal(){             //构造方法

     System.out.println("Animal 类执行了")

    }

}


public  class Dog  extends  Animal{

       public void eat(){

        System.out.println(" 年龄"+age+"狗可以吃东西")

     }

       public Dog(){

        System.out.println("Dog  类执行了")

     }

}


public class Initail{


  public static void main(String【】 args){

    Dog  dog = new Dog();      //创建子类对象的时候 自动执行  父类的构造方法 

   }

}

结果:Animal 类执行了

             Dog  类执行了


3、如果子类的构造方法中没有显示调用父类的构造方法,则             系统默认调用父类无参的构造方法。

      如果 显示 的调用构造方法,必须在 子类的构造方法的第一行


public  class Dog  extends  Animal{

       public Dog(){

        super();     //显示 的调用构造方法,必须在 子类的构造方法的第一行

        System.out.println("Dog  类执行了")

     }

}

4、如果子类的构造方法中没有显示调用父类的构造方法,父类也没有无参的构造方法,则编译出错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值