发布作者: Charlotte
百度收录: 正在检测是否收录...
作品采用: 《 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 》许可协议授权
Java是一门面向对象的编程语言,其中有几个关键概念帮助我们构建灵活和强大的代码,其中最核心的是抽象类、抽象方法和接口。这篇博客将为您展示这些概念的工作方式、用途和注意点。
抽象类是不能被实例化的类,它可能包含一个或多个抽象方法。抽象方法是没有具体实现的方法,只有声明。
abstract class Animal {
// 抽象方法
abstract void sound();
// 普通方法
void breathe() {
System.out.println("呼吸空气");
}
}
class Dog extends Animal {
// 实现父类的抽象方法
void sound() {
System.out.println("狗汪汪叫");
}
}
接口是一个完全抽象的结构,它包含了一组抽象方法。Java 8之后,接口可以包含默认方法和静态方法。
interface Swimmable {
// 抽象方法
void swim();
// 默认方法
default void breatheInWater() {
System.out.println("通过鳃呼吸");
}
}
class Fish implements Swimmable {
@Override
public void swim() {
System.out.println("鱼在水中游泳");
}
}
public
的,你不能为它们使用其他访问修饰符。abstract class Vehicle {
abstract void run();
}
interface Flyable {
void fly();
}
class Airplane extends Vehicle implements Flyable {
@Override
public void run() {
System.out.println("在跑道上跑");
}
@Override
public void fly() {
System.out.println("在空中飞");
}
}
这里,Airplane
是一个既可以在地面跑又可以在空中飞的交通工具,通过结合抽象类和接口,我们可以很好地表示这种复杂的关系。
—— 评论区 ——