protected权限修饰符:链接
实例一:使用super关键字调用父类的成员变量和方法。
父类:
public class Person {
protected String userName = "小明";
protected void doSomething(){
System.out.println("doSomething.....");
}
}
子类:
public class Student extends Person{
private String userName = "小红";
public void test(String userName){
System.out.println(userName);//小军
System.out.println(this.userName);//小红
System.out.println(super.userName);//调用父类的成员变量,打印小明
super.doSomething();//调用父类的方法,打印doSomething.....
}
}
main方法:
public class Test {
public static void main(String[] args) {
Student student = new Student();
student.test("小军");
}
}
测试结果:
实例二:理解super关键字调用父类的构造方法。
父类:
public class Person {
public Person() {
System.out.println("调用了父类的构造方法");
}
}
子类:
public class Student extends Person{
public Student() {
super();//只能出现在构造方法中的第一条语句位置
//System.out.println("调用了子类的构造方法");
}
}
main方法:
public class Test {
public static void main(String[] args) {
Student student = new Student();
}
}
测试结果:
注意:程序默认隐藏了super关键字。用以下实例说明:
父类:
public class Person {
public Person() {
System.out.println("调用了父类的构造方法");
}
}
子类:
public class Student extends Person{
public Student() {
//super();//只能出现在构造方法中的第一条语句位置
//System.out.println("调用了子类的构造方法");
}
}
main方法:
public class Test {
public static void main(String[] args) {
Student student = new Student();
}
}
测试结果: