在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象。怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用。
例:调用父类的getAge()
package com.xuenixiang.web;
public class Super1 {
protected String name;
private String address;
public int age =10;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.xuenixiang.web;
public class Super2 extends Super1 {
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String Mingzi) {
this.name = Mingzi; //子类对父类的setName进行重写
System.out.println("父类的setName方法被重写");
}
public void xuenixiang() {
System.out.println("网站名:"+this.getName());
System.out.println("网站地址:"+this.getAddress());
System.out.println("网站年龄:"+super.getAge());//调用父类的getAge
}
public static void main(String[] args) {
Super2 xnx =new Super2();
xnx.setName("学逆向论坛");
xnx.setAddress("www.xuenixiang.com");
xnx.setAge(1);
xnx.xuenixiang();
}
}