类是从中创建单个对象的蓝图。一个类可以包含以下任何变量类型。
局部变量-在方法,构造函数或块内部定义的变量称为局部变量。该变量将在方法中声明和初始化,并且在方法完成后将销毁该变量。
实例变量-实例变量是类中但任何方法之外的变量。这些变量在实例化类时初始化。可以从该特定类的任何方法,构造函数或块内部访问实例变量。
类变量-类变量是使用任何方法在类内使用static关键字声明的变量。
接口是Java中的引用类型。它类似于类。它是抽象方法的集合。一个类实现一个接口,从而继承该接口的抽象方法。
除抽象方法外,接口还可以包含常量,默认方法,静态方法和嵌套类型。方法主体仅适用于默认方法和静态方法。
编写接口类似于编写类。但是类描述了对象的属性和行为。接口包含类实现的行为。
以下是类和接口之间的重要区别。
序号 | 键 | 类 | 接口 |
---|---|---|---|
1 | 支持的方法 | 一个类可以具有抽象方法和具体方法。 | 接口只能具有抽象方法。从Java 8开始,它可以具有默认方法以及静态方法。 |
2 | 多重继承 | 不支持多重继承。 | 接口支持多重继承。 |
3 | 支持的变量 | 支持最终,非最终,静态和非静态变量。 | 仅允许使用静态变量和最终变量。 |
4 | 实作 | 一个类可以实现一个接口。 | 接口不能实现接口,它可以扩展接口。 |
5 | 关键词 | 使用class关键字声明一个类。 | 接口是使用interface关键字声明的。 |
6 | 继承 | 一个类可以使用extends关键字继承另一个类并实现一个接口。 | 接口只能继承一个接口。 |
7 | 继承 | 可以使用extends关键字继承一个类。 | 接口只能使用Implements关键字实现。 |
8 | 访问 | 一个类可以有任何类型的成员,例如私人,公共。 | 接口只能有公共成员。 |
9 | 构造函数 | 一个类可以具有构造方法。 | 接口不能有构造函数。 |
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