参考 https://www.cnblogs.com/cornucopia2015/p/4806697.html Cornucopia2015
1.关于对象
一切皆为对象;对象都有属性和行为;对象都是唯一的;对象都属于某个类
消息:调用对象的方法就是给对象发送了一个消息,一个对象能够接受某种消息,就意味着该对象向外界提供了某种服务。
封装:隐藏一切可以隐藏的细节,只暴露最简单的编程接口。
接口:
(1):接口是约定,事项接口的类必须重写接口中的所有方法,否则就要声明为抽象类
(2):接口代表能力,实现了接口的类就具备了接口所描述的能力
(3):接口是一种角色,一个类可以实现多个接口,一个接口也可以被多个类实现
Java中的接口:
单方法接口:这个唯一的方法通常都是回调方法 ActionListener,Runnable,Comparable
标识接口:没有方法,但是表示了某种能力 如Cloneable,Serializable
常量接口:这是接口最不正确的用法
2.关于接口
(1).接口可以继承多个接口是因为接口里面的定义的方法都是未实现的,不会增加复杂性
(2).接口不是类,而是对类的一组需求的描述。接口绝不能含有实例域,也不能在接口中实现方法。接口可以实现多继承不会增加代码的复杂性。
(3).多继承是发生在执行期间的,而不是在编译期间,所以编译可以通过,并且不违背java是单继承的。
3.为什么接口可以继承多个接口?
因为接口定义的都是抽象的方法,而且不能在接口中实现方法。所以,接口继承多个接口,并不会使接口的结构变得很复杂。相反,这样做,还能给一个团队在开发的过程中,提供很多便利。
单继承指的是class,而不是interface. interface是可以多继承的。
4、为什么JAVA改成只能单继承?
因为在C++中一个类是可以继承自多个类,但这样的机制会使类的结构变的很复杂,所以JAVA将C++这一机制通过接口得以改善。
JAVA中不允许类多重继承,只能单一继承,但有些情况单一继承并不能表达出现实世界中的某些逻辑关系,所以就提出了通过接口来实现多重继承。
5. 抽象类
如果一个类有抽象方法,这个类必须被声明为抽象类
抽象类中可以没有抽象方法,抽象类也可以有自己的构造器
抽象类不能实例化(不能创造对象)
强烈建议:将被继承的类设计为抽象类
6:方法
所有的基本数据类型:例如Int,char,float都是按值传递的,而对象则是按照引用传递的。