一、引入
// 类名 每个单词首字母大写
// 变量名、方法名 第一个单词首字母小写,第二个单词开始首字母大写
public class Hero {
String name; // 英雄名称
float hp; // 血量
float armor; // 护甲
int moveSpeed; // 移动速度
}
// 类和对象 1
// 引用 指向
// 如果一个变量是类类型,而非基本数据类型,那这个变量称为引用或指向
// 如代码所示
Hero h = new Hero(); // h变量是Hero类型,为引用
// 1 引用 指向
// 1-1 创建一个Hero对象,只是创建,无法访问
new Hero();
// 1-2 创建一个Hero对象,并用h1指向 它,通过h1即可访问这个对象
Hero h1 = new Hero(); // h1 -> 对象
// 2 一个对象,多个引用 √(可取)
Hero h2;
Hero h3;
Hero h4;
h2 = h1; // h2通过h1间接指向对象 h2 -> h1 -> 对象
h3 = h1; // h3通过h1间接指向对象 h3 -> h1 -> 对象
h4 = h3; // h4通过h3、h1间接指向对象 h4 -> h3 -> h1 -> 对象
// 综上所述
// h1 h2 h3 h4 指向同一个对象,都是该对象的引用,都可以访问该对象
// 3 一个引用,多个对象×(不可取)
Hero garen = new Hero();
garen = new Hero();
// 对象A 对象B
// ①↖ ↗②
// garen
// garen先指向对象A,然后又指向B,garen失去对对象A的引用,对象A失去存在的意义
二、练习
// 4 练习 hb和hd 指向同一个对象吗?
Hero ha = new Hero();
Hero hb = new Hero();
Hero hc = ha;
Hero hd = hc;
我的学习源泉:https://how2j.cn/k/class-object/class-object-reference/307.html?p=114999
Java自学网站:https://how2j.cn?p=114999