java如何继承和实现
继承的实现
在Java中,使用extends关键字实现类之间的单继承。子类继承父类的非私有属性和方法。

class Animal {
void eat() {
System.out.println("Animal is eating");
}
}
class Dog extends Animal { // Dog继承Animal
void bark() {
System.out.println("Dog is barking");
}
}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // 调用继承的父类方法
dog.bark(); // 调用子类方法
}
}
接口的实现
通过implements关键字实现接口,一个类可实现多个接口。接口定义抽象方法,实现类必须重写这些方法。

interface Swimmable {
void swim(); // 默认public abstract
}
interface Flyable {
void fly();
}
class Duck implements Swimmable, Flyable { // 实现多个接口
@Override
public void swim() {
System.out.println("Duck is swimming");
}
@Override
public void fly() {
System.out.println("Duck is flying");
}
}
public class Main {
public static void main(String[] args) {
Duck duck = new Duck();
duck.swim();
duck.fly();
}
}
继承与接口的结合
类可同时继承父类并实现接口,但需注意父类优先级高于接口。
class Bird {
void chirp() {
System.out.println("Bird is chirping");
}
}
interface Runnable {
void run();
}
class Sparrow extends Bird implements Runnable {
@Override
public void run() {
System.out.println("Sparrow is running");
}
}
public class Main {
public static void main(String[] args) {
Sparrow sparrow = new Sparrow();
sparrow.chirp(); // 继承父类方法
sparrow.run(); // 实现接口方法
}
}
注意事项
- 子类构造方法默认调用父类无参构造,若父类无无参构造,需用
super(参数)显式调用。 - 接口支持默认方法(
default)和静态方法(static),Java 8及以上版本可用。 - 通过
instanceof可检查对象是否为某类或接口的实例。






