抽象方法和抽象类的定义及特点:
关键字abstract
抽象方法必须在抽象类内,抽象方法没有方法体
抽象类不能被实例化
抽象类中可以没有抽象方法、可以有普通方法
抽象类可以有构造方法(规范是保证抽象类有无参构造,以便子类调用)
接口:接口的规则:
1.接口关键字是interface,实现接口的关键字是Implements,接口之间可以用extends继承
2.接口不能被实例化,也没有构造方法,因为里面的方法全部都是公共抽象方法
3.接口可以有静态方法,但规范不建议
4.接口中的全部变量都是公共静态常量,一般在工作中一个接口可以全是常量,没有方法
5.接口用于扩展功能,多个接口可以被一个接口继承,多个接口可以被一个类实现
抽象类和接口的异同点:
相同点:
都代表抽象层,都不能被实例化,都可以包含抽象方法,都可以实现多态
不同点:
接口不能有构造方法,接口不建议有静态方法
抽象类中可以有普通方法,抽象方法也可以不是公共的
抽象类的目的是代码重用(被继承),接口的目的是功能扩展(被实现)
抽象类便于复用,接口便于代码维护
一个类可以继承一个父类,但可以实现多个接口
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)