Java 中接口和类的区别


类是创建单个对象的蓝图。类可以包含以下任何变量类型。

  • 局部变量 − 在方法、构造函数或代码块内部定义的变量称为局部变量。变量将在方法内声明和初始化,并在方法完成后销毁。

  • 实例变量 − 实例变量是在类内部但位于任何方法外部的变量。这些变量在类实例化时初始化。可以从该特定类的任何方法、构造函数或代码块中访问实例变量。

  • 类变量 − 类变量是在类内部、任何方法外部,使用 static 关键字声明的变量。

接口

接口是 Java 中的一种引用类型。它类似于类。它是抽象方法的集合。类实现接口,从而继承接口的抽象方法。

除了抽象方法外,接口还可以包含常量、默认方法、静态方法和嵌套类型。方法体仅存在于默认方法和静态方法中。

编写接口类似于编写类。但是类描述了对象的属性和行为。而接口包含类实现的行为。

以下是类和接口之间的一些重要区别。

序号 关键点 接口
1 支持的方法 类可以同时具有抽象方法和具体方法。 接口只能具有抽象方法。从 Java 8 开始,它还可以具有默认方法和静态方法。
2 多重继承 不支持多重继承。 接口支持多重继承。
3 支持的变量 支持 final、非 final、static 和非 static 变量。 仅允许 static 和 final 变量。
4 实现 类可以实现接口。 接口不能实现接口,它可以扩展接口。
5 关键字 类使用 class 关键字声明。 接口使用 interface 关键字声明。
6 继承 类可以使用 extends 关键字继承另一个类并实现接口。 接口只能继承接口。
7 访问 类可以具有任何类型的成员,例如 private、public。 接口只能具有 public 成员。
8 构造函数 类可以具有构造函数方法。 接口不能具有构造函数。

类与接口示例

public class JavaTester {
   public static void main(String args[]) {
      Animal tiger = new Tiger();
      tiger.eat();
      Tiger tiger1 = new Tiger();
      tiger1.eat();
   }
}
interface Animal {
   public void eat();
}
class Tiger implements Animal {
   public void eat(){
      System.out.println("Tiger eats");
   }
}

输出

Tiger eats
Tiger eats

更新于: 2023-12-07

21K+ 阅读量

开启您的 职业生涯

完成课程获取认证

开始学习
广告
© . All rights reserved.