super关键字:
在对象的内部使用,代表父类对象
1,访问父类的属性
使用 super.属性名
2,访问父类的方法
使用 super.方法名
样例代码:
父类:
package com.imooc;
public class Animal
{
public int age = 90;
public int weight;
public void bark()
{
System.out.println("I can bark");
}
}
子类:
package com.imooc;
public class Dog extends Animal
{
int age = 50;
public void bark()
{
System.out.println("I can bark loudly!");
}
public void test()
{
System.out.println(super.age);
System.out.println(age);
super.bark();
bark();
}
}
测试类:
package com.imooc;
public class Initial
{
public static void main(String[] args)
{
Dog test = new Dog();
//test.weight = 91;
//System.out.println("The dog's age is " + test.age + " years old");
//System.out.println("The dog's weight is " + test.weight + " kilogram");
//test.bark();
test.test();
}
}
运行结果:
super的应用:
1,子类的构造过程必须调用父类的构造方法
2,如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法
3,如果显示的调用父类的构造方法,必须在子类的构造方法的第一行
4,如果子类中并没有显示的调用父类的构造方法,而父类又没有无参的构造方法,则编译出错