什么是对象?
具有自己的状态、行为和标识的称为对象,在java中,一个对象有自己的内部数据(提供状态)、方法(产生行为),并彼此区分(内存地址)
封装
private
私有,除了类本身和类内部的方法,外界无法直接访问该元素;private是类和调用者之间的屏障,任何试图访问私有成员的行为都会报编译时错误。
protected
受保护,类似于private,区别是子类可以访问protected的成员,但不能访问private成员。
default
默认,如果不显示使用访问权限关键字,则默认是default,它被称为包访问,因为该权限下的资源可以被同一包(库组件)中的其他类的成员访问。
public
公开,任何类都可以访问和使用该元素。
复用
代码和设计方案的复用性是面向对象程序设计的优点之一,我们可以通过重复使用某个类的对象来达到这种复用性,同事也可以将一个类的对象作为另一个类的成员变量使用。新的类可以是由任意数量和类型的其它对象构成,这就涉及到“组合”和“聚合”的概念。
组合(Composition)
用来表示“拥有”关系(has-a relationship)
聚合(Aggregation)
动态的组合。
组合与聚合的区别
组合的整件与部件的生命周期完全一致,整件被删除,则部件也被删除了。但是聚合整件与部件立开来的,整件被删除,部件不会被删除;组合中多个整件不能共享一个部件,但是聚合关系中,多个整件可以共享一个部件。
继承
目的
在多个被class修饰的基本单元中,如果需要有相同的功能,需要创建多个一样的类。继承就是为了解决这样的问题,通过继承基类(父类、超类)达到拥有相同功能的目的。
多态
在使用继承后,类的调用在编译期是不会确定具体类型的,只会去却确认方法存在以及参数和返回值执行类型的检查,只有在运行时,才会去“动态绑定”具体的类。
单继承结构
所有引用数据类型的最终基类都是Object
单继承的优点
- 所有对象都具有一个公共接口,因此它们最终都属于同一个基类
- 构建自己的对象层次结构时,新的类库和接口的兼容问题,单继承结构整合起来更便捷
- 垃圾收集器的实现更为容易
- 运行期的类型存在于所有对象中,不会出现判断不赖哦对象类型的情况
对象创建与生命周期
java使用动态内存分配,当使用new关键字时构建该对象的动态视力,通过java的垃圾收集器自动回收对象,释放内存。
异常处理
并不是面向对象语言的特性。
网友评论