学习视频来源于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
类的一个实例或对象。
这里是一些关键概念的解释:
- 数据类型:在Java中,数据类型决定了变量或方法参数可以存储什么类型的值。基本数据类型(如
int
,double
,char
等)和引用类型(如类、接口、数组等)是两种主要的数据类型。 - 引用类型:引用类型是一个可以指向对象或数组的变量类型。当你创建一个类的实例时(如
ROLE R1 = new ROLE();
),你实际上是在创建一个该类的对象,并且变量R1
是一个引用,它指向该对象在内存中的位置。 - 方法参数:在定义方法时,你可以指定方法接受哪些类型的参数。在这个例子中,
attack
方法接受一个类型为ROLE
的参数。这意味着当你调用这个方法时,你需要传递一个ROLE
类型的对象作为参数。
3.random函数调用出问题,没有引用库