一、super关键字
私有属性方法,子类无法继承
super和this的特点相似:super代码父类对象的引用,this该类对象引用
当子父类的成员出现同名时,可以通过super来区分
子类的构造方法中,通过super关键字调用父类的构造方法
当构造一个子类对象的时候一定会先调用父类的构造方法来构造父类的对象。调用父类构造方法的语句必须是子类构造方法中的第一条指令。
/父类构造方法写了以后,子类继承就要写,不写默认都是下面的构造方法/
//public Person(){}
public Person(String name, String address){
this.name = name;
this.address = address;
System.out.println("父类构造方法");
}
/子类构造方法/
public Student(String name, String address){
super(name, address); //调用父类构造方法
System.out.println("子类构造方法");
}
/主程序/
Student s = new Student("xiao","甲21");
/*
父类构造方法
子类构造方法
*/
二、完整代码
class Person{//class 相当于c语言的struct
String name;
String address;
// public Person(){}
public Person(String name, String address){
this.name = name;
this.address = address;
System.out.println("父类构造方法");
}
public void eat(){
System.out.println(name + "吃饭");
}
public void Drink(){
System.out.println(name + "喝水");
}
}
class Student extends Person{
public Student(String name, String address){
super(name, address);
System.out.println("子类构造方法");
}
int score;
void goToSchool(){
System.out.println("去上学");
}
}
public class Test {
public static void main(String[] args) {
Student s = new Student("xiao","甲21");
}
}