对象

什么是对象?

具有自己的状态、行为和标识的称为对象,在java中,一个对象有自己的内部数据(提供状态)、方法(产生行为),并彼此区分(内存地址)

封装

private

私有,除了类本身和类内部的方法,外界无法直接访问该元素;private是类和调用者之间的屏障,任何试图访问私有成员的行为都会报编译时错误。

protected

受保护,类似于private,区别是子类可以访问protected的成员,但不能访问private成员。

default

默认,如果不显示使用访问权限关键字,则默认是default,它被称为包访问,因为该权限下的资源可以被同一包(库组件)中的其他类的成员访问。

public

公开,任何类都可以访问和使用该元素。

复用

代码和设计方案的复用性是面向对象程序设计的优点之一,我们可以通过重复使用某个类的对象来达到这种复用性,同事也可以将一个类的对象作为另一个类的成员变量使用。新的类可以是由任意数量和类型的其它对象构成,这就涉及到“组合”和“聚合”的概念。

组合(Composition)

用来表示“拥有”关系(has-a relationship)

聚合(Aggregation)

动态的组合。

组合与聚合的区别

组合的整件与部件的生命周期完全一致,整件被删除,则部件也被删除了。但是聚合整件与部件立开来的,整件被删除,部件不会被删除;组合中多个整件不能共享一个部件,但是聚合关系中,多个整件可以共享一个部件。

继承

目的

在多个被class修饰的基本单元中,如果需要有相同的功能,需要创建多个一样的类。继承就是为了解决这样的问题,通过继承基类(父类、超类)达到拥有相同功能的目的。

多态

在使用继承后,类的调用在编译期是不会确定具体类型的,只会去却确认方法存在以及参数和返回值执行类型的检查,只有在运行时,才会去“动态绑定”具体的类。

单继承结构

所有引用数据类型的最终基类都是Object

单继承的优点

  • 所有对象都具有一个公共接口,因此它们最终都属于同一个基类
  • 构建自己的对象层次结构时,新的类库和接口的兼容问题,单继承结构整合起来更便捷
  • 垃圾收集器的实现更为容易
  • 运行期的类型存在于所有对象中,不会出现判断不赖哦对象类型的情况

对象创建与生命周期

java使用动态内存分配,当使用new关键字时构建该对象的动态视力,通过java的垃圾收集器自动回收对象,释放内存。

异常处理

并不是面向对象语言的特性。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容