Java中接口和类之间的区别

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

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

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

  • 类变量-类变量是使用任何方法在类内使用static关键字声明的变量。

介面

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

除抽象方法外,接口还可以包含常量,默认方法,静态方法和嵌套类型。方法主体仅适用于默认方法和静态方法。

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

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

序号


接口
1
支持的方法
一个类可以具有抽象方法和具体方法。
接口只能具有抽象方法。从Java 8开始,它可以具有默认方法以及静态方法。
2
多重继承
不支持多重继承。
接口支持多重继承。
3
支持的变量
支持最终,非最终,静态和非静态变量。
仅允许使用静态变量和最终变量。
4
实作
一个类可以实现一个接口。
接口不能实现接口,它可以扩展接口。
5
关键词
使用class关键字声明一个类。
接口是使用interface关键字声明的。
6
继承
一个类可以使用extends关键字继承另一个类并实现一个接口。
接口只能继承一个接口。
7
继承
可以使用extends关键字继承一个类。
接口只能使用Implements关键字实现。
8
访问
一个类可以有任何类型的成员,例如私人,公共。
接口只能有公共成员。
9
构造函数
一个类可以具有构造方法。
接口不能有构造函数。

类与接口的示例

JavaTester.java

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