抽象类的解释和抽象类与接口的区别
2018-02-27 16:43
162 查看
抽象类: 其实就是带有抽象方法的类(抽象方法没有方法体,用abstract的修饰)public abstract void test(); //这就是抽象方法抽象类的使用原则:
1. 抽象类不能被实例化,需要依靠子类采用向上转型的方式处理;
2. 抽象类必须有子类去继承,一个子类只能继承一个继承抽象类;
3. 抽象方法必须是public和protected(因为如果是private,则不能被子类继承,子类就不能实现此方法);
4. 如果子类继承了此抽象类,则子类必须要重写抽象类中的全部抽象方法(如果子类没有全部重写父类中的抽象方法,则子类也需要定义为abstract的)
5. 抽象类不能用final声明,因为抽象类必须有子类;
抽象类和接口的区别:
1. 抽象类里面可以有方法的实现,但是接口完全都是抽象的,不存在方法的实现;
2. 子类只能继承一个抽象类,而接口可以被多个实现;
3. 抽象方法可以是public,protected,但是接口只能是public,默认的;
4. 抽象类可以有构造器,而接口不能有构造器;
1. 抽象类不能被实例化,需要依靠子类采用向上转型的方式处理;
2. 抽象类必须有子类去继承,一个子类只能继承一个继承抽象类;
3. 抽象方法必须是public和protected(因为如果是private,则不能被子类继承,子类就不能实现此方法);
4. 如果子类继承了此抽象类,则子类必须要重写抽象类中的全部抽象方法(如果子类没有全部重写父类中的抽象方法,则子类也需要定义为abstract的)
5. 抽象类不能用final声明,因为抽象类必须有子类;
抽象类和接口的区别:
1. 抽象类里面可以有方法的实现,但是接口完全都是抽象的,不存在方法的实现;
2. 子类只能继承一个抽象类,而接口可以被多个实现;
3. 抽象方法可以是public,protected,但是接口只能是public,默认的;
4. 抽象类可以有构造器,而接口不能有构造器;
相关文章推荐
- 抽象思维之共性_抽象类的作用_接口的作用_抽象类和接口的区别(二)
- 抽象类和接口联系与区别
- java应用中的子窗口切换,引出抽象类与接口的本质区别
- 抽象类和接口的区别是什么
- 接口和抽象类的区别
- 抽象类和接口的区别
- 黑马程序员--抽象类和接口的区别以及多线程中wait和sleep的区别等等
- 抽象类与接口的区别
- Java 接口和抽象类区别
- PHP抽象类与接口的区别
- 抽象类与接口的区别及应用(本文由张洋提供)
- 关于抽象类和接口之间的区别
- Java中接口与抽象类的区别
- 接口和抽象类有什么区别
- Java中抽象类和接口的区别
- 抽象类与接口的区别
- Java中抽象类和接口的用法和区别
- 抽象类和接口的区别总结
- 抽象类和接口有什么区别?
- c#中抽象类和接口的相同点跟区别