Java super关键字

super:在对象内部使用,可代表父类对象

1.访问父类的属性:super.属性;

例:

class Animal{
    public String name;
    public int age=11;
    public void eat(){
        System.out.println("动物有吃东西的能力");
    }
    public Animal(){
        System.out.println("Animal类执行了");
    }
}

class Dog extends Animal{
    public int age=20;
    public void eat(){
        System.out.println("狗有吃骨头的能力");
    }

 public Dog(){
        System.out.println("Dog类执行了");
    }

   public void method(){

        System.out.println(this.age);    //本类

  //若想得到父类的属性        //若想得到子类的属性值

        System.out.println(super.age);    //则:System.out.println(age);

  //若想得到父类的方法        //若想得到子类的方法

         //super.eat();            //则:eat();

    }

}

class Ex17{

       public static void main(String[] args){

             Dog dog=new Dog();

             //在main调用method方法

            dog.method();

      }

}

2.访问父类的方法:super.方法();

 

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

class Animal{
    public int age=10;
    public String name;
    public void eat(){
        System.out.println("动物有吃东西的能力");
    }
public Animal(){
        System.out.println("Animal类执行了");
    }
}
class Dog extends Animal{
public void eat(){
    String name="二哈";
    System.out.println(name+"有吃骨头的能力,它今年"+age+"岁");
}
public Dog(){
System.out.println("Dog类构造方法执行了");
}
}
class Ex11{
public static void main(String[] args){
Dog dog=new Dog();
dog.eat();
}
}

 

  • 如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法(用super)
  • 如果显示的调用构造方法,必须在子类的构造方法的第一行
  • 如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则系统会报错

class Animal{
    public int age=10;
    public String name;
    public void eat(){
        System.out.println("动物有吃东西的能力");
    }
    public Animal(){
        System.out.println("Animal类执行了");
    }
}
class Dog extends Animal{
    public void eat(){
        System.out.println("狗有吃骨头的能力");
    }
    public Dog(){
        System.out.println("Dog类构造方法执行了");
    }
}
class HelloWorld{
    public static void main(String[] args){
        Dog dog=new Dog();
        dog.eat();
    }
}

posted @ 2017-12-09 00:15  糖分控  阅读(166)  评论(0)    收藏  举报