0x00:类的介绍
类: 对现实生活中一类具有共同属性和行为的事物的抽象。
类的特点:
- 类是对象的数据类型
- 类是具有相同属性和行为的一组对象的集合
0x01:对象(类的属性)
对象: 能够看得到摸得着的真是存在的实体
属性: 对象具有的各种特征, 每个对象的每个属性都拥有特定的值
行为: 对象能够执行的操作
比如 下图中的英雄就是一个类, 盖伦和提莫都是这个类的不同对象
0x02:类的定义和使用
类的组成: 属性和行为
属性:在类中通过成员变量来体现(类中方法外的变量)
行为: 在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)
public class 类型{//成员变量1//成员变量1//成员方法1//成员方法2}
package Test;public class Hero {String name; //姓名float hp; //血量float armor; //护甲int moveSpeed; //移动速度public void call(){System.out.println("别打我,我咬人了");}public static void main(String[] args) {Hero garen = new Hero(); //创建对象garen.name = "盖伦"; //使用对象的成员变量garen.hp = 616.28f;garen.armor = 27.536f;garen.moveSpeed = 350;Hero teemo = new Hero();teemo.name = "提莫";teemo.hp = 383f;teemo.armor = 14f;teemo.moveSpeed = 330;System.out.println(garen.name);garen.call(); //调用类中的方法}}
0x03:单个对象和多个对象的引用
代表创建了一个Student对象,但是没有办法访问它new Student();所以我们会使用引用来代表这个对象Student s = new Student();
下图中的 现在栈内存中调用main 方法,然后 Student 类 申请内存地址,类中的成员变量初始值都为null。
一步一步的走,慢慢的改变类中成员变量的值
多个引用,一个对象
引用有多个,但是对象只有一个。
在这个例子里,所有引用都指向了同一个对象。
对象就像 “房产”, 引用就像”房产证”
房产证的复印件可以有多张,但是真正的”房产” 只有这么一处
一个引用,多个对象
0x04:成员变量和局部变量
| 区别 | 成员变量 | 局部变量 |
|---|---|---|
| 类中位置不同 | 类中方法外 | 方法内或者方法声明上 |
| 内存中位置不同 | 堆内存 | 栈内存 |
| 生命周期不同 | 随着对象的存在而存在,随着对象的消失而消失 | 随着方法的调用而存在,随着方法的调用完毕而消失 |
| 初始值不同 | 有默认的初始值 | 没有默认的初始值,必须先定义,赋值后,才能使用 |
