java中抽象类和接口的区别?

2024-11-18 10:16:26
推荐回答(1个)
回答1:

java中对的抽象类和接口对的区别:

抽象类:

  1. 抽象类内允许有普通变量和普通方法;

  2. 抽象类必须有abstract关键字;

  3. 抽象类内可以没有抽象方法,但不能实例化;

  4. 抽象类内有抽象方法的一定是抽象类;

  5. 抽象类不能被实例化,但是有构造方法(派生类可以扩展)。

接口:

  1. 接口只声明,没有方法体,如:public abstract void func();

  2. 接口内定义的变量都默认是public static final ,必须被显示初始化;

  3. 接口没有构造方法,不能实例化;

  4. 实现接口的类要实现所有的抽象方法,否则该类就必须声明为抽象类,加上 abstract关键字;

  5. .接口不可以实现接口,所有接口都是抽象方法,但是接口支持多继承。