Java中抽象类和接口的区别

Java中抽象类和接口的区别

在Java中,抽象是通过抽象类和接口来实现的。两者都包含子类或实现类必须实现的抽象方法。以下是抽象类和接口之间的重要区别。

thead>7

抽象类与接口示例

JavaTester.java

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

输出

Tiger eats
Lion eats
Sr.号

抽象类

接口

1

支持的方法

抽象类可以同时具有抽象方法和具体方法。

接口只能有抽象方法。从 Java 8 开始,它可以具有默认方法和静态方法。

2

多重继承

多重继承不是

接口支持多重继承。

3

支持的变量

支持最终、非最终、静态和非静态变量。

仅允许静态和最终变量。

4

实现

抽象类可以实现接口。

接口可以不实现接口,也可以扩展接口。

5

关键字

使用abstract关键字声明的抽象类。

接口使用interface关键字声明。

6

继承

抽象类可以继承另一个类使用 extends 关键字并实现接口。

接口只能继承接口。

继承

抽象类可以使用extends关键字继承。

接口只能使用implements关键字实现。

8

访问

抽象类可以有任何类型的成员,如私有、公共。

接口只能有公共成员。

以上就是Java中抽象类和接口的区别的详细内容,更多请关注其它相关文章!