通过这几天的学习,接口和抽象有点小总结!
共同点:都不能被实例化,它们都位于继承树的顶端,用于被其它类实现和继承。
都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象类方法。
不同点:接口里只能包含抽象方法,不包含已经提供实现的方法。抽象类则完全可以包含普通方法。
接口里不能定义静态方法,抽象类里可以定义静态方法
接口里只能定义静态常量属性,不能定义普通属性;抽象类里则既可以定义普通属性也可以定义静态常量属性。
接口里不包含构造器;抽象类里可以包含构造器
接口里不能包含初始化块,但抽象类里完全可以包含初始化块
一个类最多只能有一个直接父类,包含抽象类。但一个类可以直接实现多个接口,通过实现多个接口可以弥补java单继承的不足。
希望对大家有所帮助!!!{:soso_e100:} |