abstract:修饰符可以修饰类和方法。抽象类不能实例化,不能new出对象。
子类继承抽象类,必须实现父类的抽象方法,否则子类也必须是抽象类
abstract修饰符修饰的类叫做抽像类
注意:有抽象方法的类一定是抽象类,抽象类不一定有抽象方法。
有抽象方法的类,必须是抽象类。但是抽象类中不一定有抽象方法
- 抽象类不能实例化,只能实例化它的子类,但是子类也不能是抽象类
抽象方法没有方法体,抽象方法以分号 ; 结束 public abstract void fun();
抽象方法没有方法体,构造方法没有返回类型
抽象类可以用于声明,但不允许创建对象
抽象类可以被子类继承,从而创建子类对象
abstract修饰的方法叫做抽象方法
拥有抽象方法的类必须是抽象类
抽象方法由子类实现
抽象类是更高层次的抽象
接口(Interface)是种特殊的抽象类。
接口里面的属性都是public static final类型的,
接口里面的方法都是public abstract类型的。
一个类可以实现多个接口,但只能继承一个父类。
一个接口可以继承多个父类接口(接口可以多重继承,而类不行)
接口可以多重继承,继承多个父类接口。
接口侧重于描述对象的功能性特征。
接口继承接口使用 extends 关键字
接口实现了特殊的多继承
子类的多实现的同时还可以继承一个父类
使用接口的好处:增加程序的通用性
声明引用时要使用接口类型
方法的参数要声明成接口类型
方法的返回值要声明成接口类型
接口特性
1.接口不可以被实例化
2.实现类必须实现接口的所有方法
3.实现类可以实现多个接口
4.接口中的变量都是静态常量
接口就是标准,它不负责具体的实现
抽象类描述事物的本质 xxx is a xxxx
接口描述事物的功能 xxx has a xxx
任何一个事物都可以从它是什么,以及它有什么两方面来分析
区别:
1.接口是公开的,里面不能有私有的方法或变量,而抽象类是可以有私有方法或私有变量的
2.实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法
3.接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现
共同学习,写下你的评论
评论加载中...
作者其他优质文章