Java 小白 学习笔记心得(二)----类与对象

拥有回忆 提交于 2020-01-03 14:42:29

Java 小白 学习笔记心得(二)— 对象与类

1.面向对象术语

  • 面向对象的分析(OOA,Object Oriented Analysis)
  • 面向对象的设计(OOD,Object Oriented Design)
  • 面向对象的编程实现(OOP,Object Oriented Programming)

2. 面向对象与面向过程的区别

  • 面向过程:主要关注点为实现过程,因果关系
    • 优点: 对于业务逻辑简单的程序,可以达到快速开发,前期投入成本低;
    • 缺点: 难以解决非常复杂的业务逻辑,两哇哦面向过程使软件元素之间的耦合度很高,软件扩展能力差。另外没有度立体的概念,无法达到组件复用;
  • 面向对象: 主要关注各个独立对象能完成哪些功能。
    • 优点: 耦合度低,扩展能力强。容易解决现实世界中更复杂的业务;
    • 缺点:前期投入成本较高,需要对立体的抽取与大量系统的设计。

3.面向对象的特征

  • 封装
  • 继承
  • 多态

4.类与对象的概念

  • 什么是类?

    • 类是构造对象的模板与蓝图;
    • 类达标了一类事物,是人类大脑抽象的结果。
  • 什么是对象?

    • 对象是实际存在的个体,现实世界中实际存在。
  • 类的组成:

    • 属性:描述对象的状态信息。
    • 方法:描述对象的动作信息

5.类之间的关系

  • 依赖 uses-a : 一个类的方法操纵另一个类的对象;
  • 聚合 has-a : 类A的对象包含类B的对象;
  • 继承 is-a : 类A 扩展类B。

6. 对象的创建与使用-内存分析

  • 方法区内存:在类加载的时候,class 字节码文件片段被加载到内存空间当中;
  • 栈内存:局部变量,方法代码片段在执行过程中分配内存。
  • 堆内存: new 的对象在堆中储存。

7.构造器

  • 构造器必须与类名相同;
  • 每个类可以有一个及以上的构造器;
  • 构造器有0个、1个或者1个以上的参数;
  • 构造器没有返回值也不能用void修饰;
  • 构造器总是伴随new操作一起调用。

8.封装

  • 封装的优点:
    • 封装之后,对于那个事物来说,看不到事物比较复杂的一面,只看到事物简单的一面;
    • 封装之后才会形成真正的对象,真正的“独立体”;
    • 封装后意味着以后的程序可以重复使用;
    • 封装之后,提高了安全性。(不要编写返回引用可变对象的访问器方法,其会破坏封装性)

9. this 关键字 与 static 关键字

  • static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。但是要注意的是,虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!