01 00Java中级之类与对象

1 面对对象简介

  Java语言最大的特点在于面向对象的编程设计。所谓面向过程指的是面对于一个问题的解决方案,更多的情况下是不会做出重用的设计思考的,面向对象的主要设计方式为模块化设计,并且可以进行重用配置。在整个的面向对象的设计里面更多情况下考虑的是标准,在使用的时候根据标准进行拼装,而面对对象有三个主要特征:

  • 封装性:内部的操作对外部不可见,当内部的操作都不可直接使用的时候才是安全的;
  • 继承性:在已有结构的基础上继续进行功能的扩充;
  • 多态性:是在继承性的基础上扩充而来的概念,指的是类型的转换处理。

  在进行面向对象程序的开发之中一般还有三个步骤:

  • OOA:面向对象分析;
  • OOD:面向对象设计;
  • OOP:面向对象编程。

2 类与对象简介

  面向对象的核心组成:类与对象。
  类是对某一类事物的共性的抽象概念,而对象描述的是一个具体的产物。类是一个模板,而对象才是类可以使用的实例,先有类再有对象。
  在类之中,一般都会有两个组成:

  • 成员属性(Field):有些时候为了简化称其为属性;
  • 操作方法(Method):定义对象具有的处理行为

3 类与对象的定义及使用

4 对象内存分析

  Java之中类属于引用数据类型,引用数据类型最大的困难之处在于要进行内存管理,同时再进行操作的时候,也会发生内存关系变化,所以本次针对于之前的程序的内存关系进行一些简单分析。
  进行内存分析,需给出两块最常用的内存空间:

  • 堆内存:保存的是对象的具体信息,在程序之中堆内存空间的开辟是通过new完成的。
  • 栈内存:保存的是一块堆内存的地址,即:通过地址找到堆内存,而后找到对象内容,但是为了分析简化起见,可以简单的理解为,对象名称存在了栈内存中。
      需要特别引起注意的是,所有的对象在调用类中的属性或方法的时候必须要实例化完成或才可以执行。
      声明对象未实例化会发生NullPointerException(空指针指向)异常,就是在没有在堆内存开辟后时所产生的问题,并且只有引用数据类型存在有此问题。

5 对象引用分析

  类本身属于引用数据类型,既然是引用数据类型,那么就牵扯到内存的引用传递,所谓的引用传递的本质:同一块堆内存空间可以被不同的栈内存所指向,也可以更换指向。引用传递可以发生在方法上,这个时候一定要观察方法的参数类型,同时也要观察方法的执行过程。

6 引用与垃圾分析

  垃圾产生原因的简单分析。所谓垃圾指没有栈内存指向的堆内存空间,所有的垃圾将被GC(Garvage Collector,垃圾收集器)不定期进行回收并且释放无用内存空间,但是如果垃圾过多,一定将影响到GC的处理性能,从而降低整体的程序性能,在实际开发之中,对于垃圾的产生应该越少越好。
  一个栈内存空间只能保存一个堆内存的地址数据,如果发生更改,则之前的地址数据将从此从栈内存中彻底消失。

发布了35 篇原创文章 · 获赞 11 · 访问量 738

猜你喜欢

转载自blog.csdn.net/weixin_43762330/article/details/104419006