色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java supeer和this

錢衛國2年前8瀏覽0評論

java中有兩個關鍵字super和this,它們都是用來訪問類成員的。

super可以訪問父類中的成員變量和方法,用來避免子類中的同名變量或方法與父類中的重名沖突。在方法中使用super調用父類的方法,子類可以通過傳參來對父類方法的行為進行擴展。

public class Animal {
int age;
public Animal(int age) {
this.age = age;
}
public void eat() {
System.out.println("Animal is eating...");
}
}
public class Dog extends Animal {
String name;
public Dog(String name, int age) {
super(age);
this.name = name;
}
public void eat() {
super.eat();
System.out.println("Dog is eating...");
}
public static void main(String[] args) {
Dog dog = new Dog("Tom", 3);
dog.eat();
}
}

在上面的代碼中,子類Dog通過super(age)調用了父類Animal的構造器,并且重寫了父類的eat()方法,在eat()方法中使用super.eat()調用了父類的eat()方法。執行上面代碼的輸出結果為:

Animal is eating...
Dog is eating...

this用來訪問當前對象的成員變量和方法,用來避免類中的同名變量或方法與對象實例中的重名沖突。在多次調用同一個類的方法時,使用this關鍵字可以顯式地表明該方法是從當前對象中調用的。

public class Person {
String name;
public Person(String name) {
this.name = name;
}
public void speak() {
System.out.println(this.name + " is speaking...");
}
public void run() {
this.speak();
System.out.println(this.name + " is running...");
}
public static void main(String[] args) {
Person person = new Person("John");
person.run();
}
}

在上面的代碼中,類Person中有成員變量name和方法speak()和run(),在speak()方法中使用了this關鍵字訪問了當前對象的name成員變量,在run()方法中使用了this關鍵字顯式地調用了speak()方法。執行上面代碼的輸出結果為:

John is speaking...
John is running...