抽象类和接口的区别与联系

抽象类

abstract

1.抽象方法一定在抽象类中

2.抽象类和抽象方法肯定是被abstract修饰的

3.抽象类不可以用new关键字实例化,实例化一个抽象类没有任何意义

4.如果一定要用抽象类,那么可以使用多态的方式

5.虽然抽象类不能实例化,但是也是有构造器的

6.抽象方法不能被private修饰

7.抽象方法不能被static修饰

 

总结:1.抽象类就是用来被继承的

  1. 抽象方法就是用来被实现的
  2. 实现多态

 

接口

Interface:定义接口

Implements:实现接口

1.接口中的变量全部是静态常量

2.接口中的方法默认是公开抽象方法(public abstract),就算不写,也会自动加上public abstract

3.JDK1.8之后可以手动声明默认方法和静态方法

4.接口可以多实现,一个类可以实现多个接口

5.接口与接口之间使用extends

6.一个子类可以继承一个父类,实现多个接口

 

 

抽象类和接口的区别和联系:

1、抽象类和接口都不能直接实例化。抽象类变量只能引用子类对象,接口变量只能引用实现类对象。

2、接口中只能定义抽象方法,不能定义具体方法,但在抽象类中可以定义抽象方法,可以定义具体方法。

3、接口中定义的变量是公共的静态的常量,而抽象类中定义的变量是普通属性。

4、一个类只能继承一个父类,但是可以实现多个接口。

 

posted @ 2019-12-01 22:15  星然  阅读(583)  评论(0编辑  收藏  举报