“生而为继承”
抽象方法声明没有具体的实现(同接口是一样的)。抽象方法 和 抽象类 都是用abstract关键字修饰。
需要注意的是,
1,访问权限一般用protected或private,保证只有子类访问
2,有抽象方法一定是抽象类,但抽象类不一定只有抽象方法也可以有有方法体的方法
3,子类继承了抽象类必须实现父类的抽象方法,如果没有实现,那么子类也将会是抽象类。
4,抽象类不能用来创建对象。
接口
接口抽象类的进一步深入
接口用关键字interface来实现,接口指的是调用别人的方法或者函数。接口可以看出java是一种对行为的抽象。
接口需要注意的是:
1,接口变量默认以public final static修饰 定义的是常量,方法会默认public abstract修饰,且均不可改变。所以接口中方法没有方法的具体实现,也就是说都是抽象方法
2,接口可以继承多个父类接口
而子类只能有一个父类
两者主要区别:
1)抽象类 是对一种事物的抽象,即对类抽象,而接口是对行为(方法)的抽象。
抽象类 是对整个类整体进行抽象,包括属性、行为,
但是 接口 却是对类局部(行为)进行抽象。
2)抽象类是一类事物的模板,接口是一种行为规范
3)抽象类是一个类,而接口不是类
4)抽象类是通过继承,由子类来具体实现,自上而下,模板式
接口对外开放,把方法对外暴露进行交互,调用(接口)的类具体实现,由点辐射,辐射式
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)