JAVA面向对象—文字格斗游戏设计(练习)

学习视频来源于B站黑马程序员,感谢帮助!!!

package zh;

public class ROLE {
	//定义私有化成员变量
	private String name;
	private int blood;
	//生成一个空参,再生成一个全参,一般而言在写代码的时候空参和全参都要定义一下,为了写后续写代码更方便
	//空参
	public ROLE() {
	}
	//全参
	public ROLE(String name,int blood) {
		//将实际传入的参数值赋值给成员变量
		this.name=name;
		this.blood=blood;
	}
	//写GET得到名字和血量的值以便于调用查看
	//写SET传入值
	public String getname() {
		return name;
	};
	public void setname(String name) {
		this.name=name;
	};
	public int getblood() {
		return blood;
	};
	public void setblood(int blood) {
		this.blood=blood;
	}
	
	//定义一个方法-攻击
	//设计攻击方法的思路:
	//ROLE R1=new ROLE();
	//ROLE R2=new ROLE();
	//R1.攻击(R2);
	
	//其中,括号里面的ROLE是数据类型,role是攻击这个方法里面的对象
	public void attack(ROLE role) {
		//
		System.out.println(this.getname()+"打了"+role.getname()+"一下");
	}

}

创建测试类:

package zh;

public class gametest {
	public static void main (String[] args) {
	//创建角色
	ROLE R1=new ROLE("xiao",100);
	ROLE R2=new ROLE("li",155);
	R1.attack(R2);
	
	}
}

程序运行中的问题:

1.getxxx、setxxx的函数调用书写有问题,导致程序运行失败

2.在创建attack方法时,对“public void attack(ROLE role)”中的“(ROLE role)”两个词所代表的含义不明晰,不理解为什么ROLE是数据类型:

在Java编程语言中,ROLE 是一个类(class)的名称,当定义一个方法时,如 public void attack(ROLE role)ROLE 在这个上下文中确实是一个数据类型。具体来说,它是一个引用类型(reference type),用于表示 ROLE 类的一个实例或对象。

这里是一些关键概念的解释:

  1. 数据类型:在Java中,数据类型决定了变量或方法参数可以存储什么类型的值。基本数据类型(如 intdoublechar 等)和引用类型(如类、接口、数组等)是两种主要的数据类型。
  2. 引用类型:引用类型是一个可以指向对象或数组的变量类型。当你创建一个类的实例时(如 ROLE R1 = new ROLE();),你实际上是在创建一个该类的对象,并且变量 R1 是一个引用,它指向该对象在内存中的位置。
  3. 方法参数:在定义方法时,你可以指定方法接受哪些类型的参数。在这个例子中,attack 方法接受一个类型为 ROLE 的参数。这意味着当你调用这个方法时,你需要传递一个 ROLE 类型的对象作为参数。

3.random函数调用出问题,没有引用库

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值