您的位置:首页 > 编程语言 > Java开发

java中super关键字

2017-09-19 10:48 239 查看
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、如果子类的构造方法中没有显示调用父类的构造方法,父类也没有无参的构造方法,则编译出错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java super