一、什么是对象?什么是类?
在开发过程中,分为两个阶段,一个是设计阶段,一个是实现阶段。
在设计阶段是我们通过场景,带入用例去分析,在这个时候这些用例都是以对象的方式出现的。然后在通过归纳发现具有相同属性和行为的对象,这个归纳是人脑的一种抽取,我们得到类的概念。
在实现过程中,代码是先定义类,然后通过类产生对象。把类看成是对象“模版”,先定义好模版,然后通过模版进行复制,产生无数个对象。在具体使用的时候,一定是用对象而不是用类。
类与对象之间的关系一句话:类是对象的模板,对象是类的实例。
二、类的实例化
1、定义类
声明一个类就是创建一个新的数据类型,而类在 Java 中属于引用类型, Java 使用关键字 class 来声明类。
2、类的实例化
用类类型创建对象的过程,称为类的实例化,一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量。
三、成员变量和局部变量
1、 作用域不同
局部变量的作用域:局部变量在方法的内部。
成员变量的作用域:成员变量在类的内部,方法的外部,作用在整个类,两类变量同名时,局部变量具有更高的优先级。
2、初始值不同
局部变量需要初始化,成员变量Java中会有一个默认值,可以不初始化。
3、存储位置不同:
局部变量在栈上;成员变量在堆上。
四、访问修饰符
Java中四种权限修饰符:public(公共的)、protected(受保护的)、default(默认的(也可以不写))、private(私有的)。
五、static关键字
1、修饰属性
静态成员变量(类变量)访问:类名.属性(建议)。
Java静态属性和类相关, 和具体的实例无关,不需要实例化对象。
静态成员变量,不存在与对象里面,在方法区。
2、修饰方法
在任何方法上应用 static 关键字,此方法称为静态方法。
静态方法属于类,而不属于类的对象,无需创建类的实例。
静态方法可以访问静态数据成员,并可以更改静态数据成员的值。