您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
抽象类和接口都是用于定义抽象概念和规范实现的方式,但它们之间存在一些关键区别:
abstract
进行定义,而接口使用关键字interface
。// 抽象类定义
public abstract class Animal {
// 抽象方法
public abstract void eat();
}
// 接口定义
public interface Animal {
// 抽象方法
public abstract void eat();
}
implements
关键字,继承抽象类使用extends
关键字。// 类实现多个接口
public class Dog implements Animal, Runnable {
// 实现接口方法
public void eat() {
System.out.println("Dog is eating.");
}
public void run() {
System.out.println("Dog is running.");
}
}
// 类继承抽象类
public class Cat extends Animal {
// 实现抽象方法
public void eat() {
System.out.println("Cat is eating.");
}
}
// 抽象类的成员变量
public abstract class Animal {
protected String name; // 实例变量
protected static int age; // 静态变量
}
// 接口的成员变量
public interface Animal {
String NAME = "Animal"; // 静态常量
}
// 抽象类中的抽象方法
public abstract class Animal {
public abstract void eat();
}
// 接口中的抽象方法
public interface Animal {
void eat();
}
// Java 8之后的接口默认方法
public interface Animal {
default void eat() {
System.out.println("Animal is eating.");
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。