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:成员变量和局部变量
区别 | 成员变量 | 局部变量 |
---|---|---|
类中位置不同 | 类中方法外 | 方法内或者方法声明上 |
内存中位置不同 | 堆内存 | 栈内存 |
生命周期不同 | 随着对象的存在而存在,随着对象的消失而消失 | 随着方法的调用而存在,随着方法的调用完毕而消失 |
初始值不同 | 有默认的初始值 | 没有默认的初始值,必须先定义,赋值后,才能使用 |