淘先锋技术网

首页 1 2 3 4 5 6 7

Java是一种强大的编程语言,它支持许多重要的概念,其中两个最重要的是继承和多态。

继承是一种代码重用的方式,它允许程序员定义一个新的类,并从现有的类继承所有的属性和方法。这样,程序员就可以在不重复编写代码的情况下扩展现有类的功能。

public class Animal {
protected String name;
protected int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public void eat(String food) {
System.out.println(name + " is eating " + food);
}
}
public class Dog extends Animal {
public Dog(String name, int age) {
super(name, age);
}
public void bark() {
System.out.println(name + " is barking");
}
}

在这个例子中,Dog类继承了Animal类,它继承了Animal中的name和age属性,以及eat方法。Dog还定义了它自己的bark方法。

多态是一种面向对象的概念,它允许程序员使用一个对象来代表多个不同类型的对象。这样,程序员就可以在不知道实际对象类型的情况下调用方法。

public class Animal {
protected String name;
protected int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public void makeSound() {
System.out.println("This animal makes a sound");
}
}
public class Dog extends Animal {
public Dog(String name, int age) {
super(name, age);
}
public void makeSound() {
System.out.println("This dog barks");
}
}
public class Cat extends Animal {
public Cat(String name, int age) {
super(name, age);
}
public void makeSound() {
System.out.println("This cat meows");
}
}

在这个例子中,Animal类定义了一个makeSound方法。Dog和Cat类继承了Animal类并覆盖了makeSound方法。现在,程序员可以通过Animal类型的变量来调用makeSound方法,这个变量可以指向Dog或Cat对象:

Animal animal1 = new Dog("Lassie", 3);
animal1.makeSound();  // Output: This dog barks
Animal animal2 = new Cat("Whiskers", 2);
animal2.makeSound();  // Output: This cat meows

在这里,变量animal1和animal2都是Animal类型,但是它们实际上分别指向Dog和Cat对象。程序员可以调用makeSound方法,而不用知道实际对象类型。