java类与对象实验的实验总结 java类与对象实验报告总结_java类与对象实验报告


本文对应书中第四章的总结

类之间关系

  1. 依赖
  2. 关联(知道、了解)
  3. 聚合(拥有)
  4. 继承

static

  • 静态域

也称类域,属于类,不属于任何类的对象。而实例域,每一个对象都有其拷贝。

初始化:声明时指定初始化值、静态初始化块初始化


// static initialization block


  • 静态final域(静态常量)

示例:Math.PL System.out (setOut native方法)

  • 静态方法

特点:

1. 没有隐式参数

2. 可以访问静态域

3. 可通过对象调用(易混淆)

使用场景:

1. 只通过显示参数完成执行的方法(不需访问对象状态的方法)

2. 只需访问类静态域的方法

3. factoryMethod 构造对象

解决构造器问题:无法命名、改变构造类型(返回对象为子类对象)

4. main方法(可用于单元测试)

对象

对象的三个特性:行为、状态、标识

域(对象域或实例域)

声明

  1. private(pulic 破坏封装性)
  2. 可选final修饰(大都应用于基本类型primitive、不可变类Immutable)

封装的好处(提供域访问器、域更改器方法mutator methods、accessor method)

  1. 可以改变内部实现,只影响该类的代码
  2. 更改器方法可以执行错误检查

访问器

  1. 不要编写返回引用可变对象的访问器方法。若要返回,需先clone
  2. 类中的每个方法都不会改变其对象,这种类就是不可变类
  3. C++注释:const修饰的表示访问器方法

初始化

  1. 构造器中设置值(创建类时初始化默认值--不同于局部变量)
  2. 生命中赋值
  3. 初始化块(initialization block,构造器执行前执行)

方法

  • 对内:访问域

类方法可以访问所属类任何对象的私有域


public


• 对外:方法调用

  1. 方法signature:方法名、参数类型;返回类型不属于方法签名
  2. 重载:方法名称相同、参数不同
  3. 重载解析(编译阶段)

参数

  • 类型:
  1. 隐式(implicit-this:调用对象域、构造方法)、显式(explicit)
  2. 基本数据类型、对象引用

传值:无论是原始类型、还是引用类型变量,都会复制值

  1. 方法无法修改基本数据类型参数
  2. 可改变对象参数的状态
  3. 不能让对象参数引用新对象

import 类、静态域、静态方法

小结

本文总结了类和对象及其包含的方法、域等相关概念,Java是一个面向对象语言,需要支持。