基本介绍;
super代表父类的引用,用于访问父类的属性、方法、构造器。
基本语法:
super可以访问父类的属性,但不能访问父类的private属性
super.属性名;
super可以访问父类的方法,但不能访问父类的private方法
super.方法名(参数列表);
super访问父类的构造器
super.(参数列表); //只能放在构造器的第一句!!!
package super_TY;
public class A {
//4个属性
public int n1 = 100;
protected int n2 = 200;
int n3 = 300;
private int n4 = 400;
public A() {
}
public A(String name) {
}
public A(String name, int age) {
}
//4中方法
public void test100() {
}
protected void test200() {
}
void test300() {
}
private void test400() {
}
}
package super_TY;
public class B extends A {
//1. super可以访问父类的属性,但不能访问父类的private属性
public void hi(){
System.out.println(super.n1 + " " + super.n2 + " " + super.n3);
//私有属性无法访问
//System.out.println(super.n4);//报错!!!
}
//2. super可以访问父类的方法,但不能访问父类的private方法
public void ok(){
super.test100();
super.test200();
super.test300();
//私有方法无法访问
//super.test400();//报错!!!
}
//3. super访问父类的构造器
public B(){
//super();
//super("wty",19);
super("wty");
}
}