当先锋百科网

首页 1 2 3 4 5 6 7

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中的多态性,同样的方法名,但是执行的结果不同。