class People {
People() {
System.out.println("我是人");
}
}
class Student extends People {
Student(int a, String name) {
this(a);
System.out.println(a);
System.out.println(name);
}
Student(int b) {
super();
System.out.println(++b);
}
}
class Student2 extends People {
}
class Demo1 {
public static void main(String[] args) {
Student s = new Student(4, "李帥");
}
}
這段代碼不知道能不能看懂咧虎?首先先介紹一下super,我們之前調用子類方法计呈,可以很爽的使用父類中的屬性和方法砰诵,它為什么可以調用父類的東西?那是因為有super這個東西捌显,在你創(chuàng)建子類對象時茁彭,有一個隱式的構造方法,在這個隱式的構造方法中第一行又有一個super();調用了父類的構造方法扶歪,構造方法具有創(chuàng)建對象的功能理肺,所以在創(chuàng)建子類對象時,父類就也跟著創(chuàng)建了善镰。
上面的代碼有一個this();的傳遞妹萨,this();是調用其它構造方法的。
class Pone {
void call() {
System.out.println("我只能打電話");
}
}
class Newpone {
void call() {
System.out.println("我不僅能打電話還能聊天");
System.out.println(this);
}
}
class Demo1 {
public static void main(String[] args) {
Newpone n = new Newpone();
n.call();
}
}
上面的代碼完成了對父類方法的重寫炫欺,首先你能否注意到眠副,call方法沒有修飾符,那么這個方法就是默認的竣稽,他的訪問權限是包囱怕,后面會學到。
我們需要注意幾個問題:
1.子類訪問權限要小與夫類毫别。2.super和this不同并不代表當前對象娃弓。他只能用于調用父類的方法。不要搞混了岛宦。