淘先锋技术网

首页 1 2 3 4 5 6 7

在Java中,继承是面向对象编程的一个基本概念。继承允许您创建一个新类,这个类是现有类的类型,继承得到现有类的属性和方法。这个新类被称为子类,现有类被称为父类。子类继承后可以在父类已定义的方法和属性的基础上添加新功能,也可以修改父类的方法和属性。

Java继承使用关键字"extends"来实现。例如,我们可以定义一个子类Animal,继承父类Mammal。

class Mammal {
public void walk() {
System.out.println("Mammal can walk");
}
}
class Animal extends Mammal {
public void walk() {
System.out.println("Animal walk on four legs");
}
}
public class Test {
public static void main(String args[]) {
Animal a = new Animal();
a.walk();
}
}

上述代码中,Animal类继承了Mammal类,并且Animal类重写了Mammal类中的walk()方法。在创建Animal的对象时,会调用Animal类中的walk()方法,输出"Animal walk on four legs"。

重写是继承的一个重要特征。当子类中定义了与父类中同名、同参数的方法时,子类中的方法将覆盖父类的方法,称为重写。

在重写时要注意以下几点:

  • 方法名、参数类型、返回值类型必须与父类相同。
  • 重写方法的访问级别不能比父类低(例如,父类方法为public,则子类方法也必须为public)。
  • 不能重写父类中被声明为final和static的方法。

以下示例演示了重写的方法:

class Animal {
public void move() {
System.out.println("Animals can move");
}
}
class Dog extends Animal {
public void move() {
System.out.println("Dogs can walk and run");
}
}
public class Test {
public static void main(String args[]) {
Animal a = new Animal();
Animal b = new Dog();
a.move();
b.move();
}
}

上述代码中,Dog类继承了Animal类,并重写了move()方法。在创建Animal和Dog的对象时,向上转型为Animal类型,调用move()方法时,Animal对象输出"Animals can move",Dog对象输出"Dogs can walk and run"。