欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java引用和多態

阮建安1年前10瀏覽0評論

Java是一種具有強引用特性的面向對象編程語言。當我們在Java中定義一個變量時,實際上創建了一個“引用”,而不是一個對象。引用指向內存中實際存在的對象,可以理解為引用是對象的一種標識。

Java的多態性是指同一種類型的對象,使用不同的方法會導致不同的結果。Java支持兩種類型的多態性:編譯時多態性和運行時多態性。編譯時多態性通常稱為重載,即在同一類中使用同一方法名,實現不同的功能;運行時多態性通常稱為重寫,即子類繼承父類的方法,但重新定義該方法,以實現不同的功能。

public class Animal {
public void eat() {
System.out.println("Animal eats.");
}
}
public class Cat extends Animal {
public void eat() {
System.out.println("Cat eats fish.");
}
}
public class Dog extends Animal {
public void eat() {
System.out.println("Dog eats meat.");
}
}
public class Test {
public static void main(String[] args) {
Animal animal1 = new Animal();
Animal animal2 = new Cat();
Animal animal3 = new Dog();
animal1.eat();
animal2.eat();
animal3.eat();
}
}

在上面的示例中,Animal類是父類,Cat和Dog是子類。我們分別實例化了三個不同的對象:animal1是Animal類的對象,animal2是Cat類的對象,animal3是Dog類的對象。我們調用它們的eat()方法。因為animal1是Animal類的對象,所以它將調用Animal類中的eat()方法并輸出“Animal eats.”。animal2是Cat類的對象,所以它將調用Cat類中重寫的eat()方法并輸出“Cat eats fish.”。animal3是Dog類的對象,所以它將調用Dog類中重寫的eat()方法并輸出“Dog eats meat.”。這就是Java中的多態性,同樣的方法名,但是執行的結果不同。