Java 对象和类
定义对象的类
几个概念
- 面向对象程序设计(OOP)
使用对象进行程序设计- 类
用来定义对象的数据域是什么以及方法是做什么的。- 对象
是类的一个实例,创建实例的过程称为实例化。- 每个对象都有自己独特的标识、状态和行为
- 状态/属性/特征
是指那些具有它们当前值的数据域。- 行为/动作
由方法定义。调用对象的一个方法就是要求对象完成一个动作。
使用构造方法构造对象
与一般方法对比,有以下特殊性:
- 必须具备和所在类相同的名字;
- 没有返回类型,甚至连void也没有
- 在创建一个对象使用new操作符时调用的。构造方法的作用是初始化对象。
构造方法可以重载,这样易于用不同的初始数据值来构造对象。
通过引用变量访问对象
- 对象是通过对象引用变量来访问的,该变量包含对对象的引用,使用如下语法格式声明:
ClassName objectRefVar;
一个类就是一种引用类型。 - 访问对象的数据和方法 (圆点运算符/对象成员访问运算符)
- objectRefVar.dataField 引用对象的数据域
- objectRefVar.method (参数)调用对象的方法
- 应用数据域和null值
如果一个引用类型没有引用任何对象,那么这个数据域就有一个特殊的Java值null。null是引用类型直接量。 - 基本类型变量和引用类型变量的区别
- 基本类型变量
对应内存所存储的值是基本类型值 - 引用类型变量
对应内存所存储的是一个引用,是对象的存储地址。
垃圾回收:
Java运行系统会检测垃圾并自动回收它所占的空间。
- 基本类型变量
静态变量、常量和方法
修饰符static
- 静态变量
让一个类的所有实例共享数据。静态变量将变量值存储在一个公共的内存地址。 - 静态方法
无需创建类的实例就可以调用静态方法。
类中的常量是该类的所有对象所共享的。常量应该声明为final static
可见性修饰符
- public
可以被任何其他的类访问。 - private
限定方法和数据域只能在它自己的类中被访问。 - protected
- default
默认为类、方法和数据域都可以被同一个包中的任何一个类访问的,称为包私有和包内访问。
数据域封装
为了避免对数据域的直接修改,使用private修饰符将数据域声明为私有的。