摘要:
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。
其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。 阅读全文
摘要:
概念,三个点:
1.抽象类不能被实例化;
2.子类必须重写父类中的抽象方法;
3.如果类中包括抽象方法,那么该类必须被定义为抽象类,而不论是否包括其他一般方法。
宗旨:抽象类应尽可能拥有更多的共同代码,更少的数据。
表现:
关键字:abstract、override。
抽象方法不能有方法体,以“;”结尾,没有“{}”。 阅读全文
摘要:
封装:每个对象都包括自己进行操作所需要的所有信息,而不依赖于其他对象来完成自己的操作。这样的方法和属性通过类的实例来实现。
好处:良好的封装可以降低耦合度;类的内部可以自由修改;类具有对外的清晰... 阅读全文