实际的开发中,引用类型的使用非常重要,也是非常普遍的。我们可以在理解基本类型的使用方式基础上,进一步去掌握引用类型的使用方式。基本类型可以作为成员变量、作为方法的参数、作为方法的返回值,那么当然引用类型也是可以的。
class作为成员变量
角色类
在定义一个类Role(游戏角色)时,代码如下:
1 2 3 4 5 | class Role { int id; // 角色id int blood; // 生命值 String name; // 角色名称 } |
使用int 类型表示 角色id和生命值,使用String 类型表示姓名。此时, String 本身就是引用类型,由于使用的方式类似常量,所以往往忽略了它是引用类型的存在。如果我们继续丰富这个类的定义,给Role 增加武器,穿戴装备等属性,我们将如何编写呢?
武器类
提高进攻能力,定义攻击武器类,将增加攻击能力:
1 2 3 4 | class Weapon { String name; // 武器名称 int hurt; // 伤害值 } |
铠甲类
提高防守能力定义穿戴盔甲类,将增加防御能力,也就是提升生命值:
1 2 3 4 | class Armour { String name; // 装备名称 int protect; // 防御值 } |
角色增强类
给角色类增加进攻和防守属性,角色类调整成如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | class Role { int id; int blood; String name; // 添加武器属性 Weapon wp; // 添加盔甲属性 Armour ar; // 提供get/set方法 public Weapon getWp() { return wp; } public void setWeapon(Weapon wp) { this .wp = wp; } public Armour getArmour() { return ar; } public void setArmour(Armour ar) { this .ar = ar; } // 攻击方法 public void attack(){ System.out.println( "使用" + wp.getName() + ", 造成" +wp.getHurt()+ "点伤害" ); } // 穿戴盔甲 public void wear(){ // 增加防御,就是增加blood值 this .blood += ar.getProtect(); System.out.println( "穿上" +ar.getName()+ ", 生命值增加" +ar.getProtect()); } } |
测试类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class Test { public static void main(String[] args) { // 创建Weapon 对象 Weapon wp = new Weapon( "倚天剑<img draggable=" false " role=" img " class=" emoji " alt="
" src=" https: //s.w.org/images/core/emoji/15.1.0/svg/1f5e1.svg">" , 999999); // 创建Armour 对象 Armour ar = new Armour( "明光铠甲<img draggable=" false " role=" img " class=" emoji " alt="
" src=" https: //s.w.org/images/core/emoji/15.1.0/svg/1f6e1.svg">",88888); // 创建Role 对象 Role r = new Role(); // 设置武器属性 r.setWeapon(wp); // 设置盔甲属性 r.setArmour(ar); // 攻击 r.attack(); // 穿戴盔甲 r.wear(); } } |
输出结果:
使用倚天剑
,造成999999点伤害 穿上明光铠甲
,生命值增加88888
类作为成员变量时,对它进行赋值的操作,实际上,是赋给它该类的一个对象。
到此这篇关于Java中引用类型class的用法总结的文章就介绍到这了,更多相关Java引用类型class内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!