类是一个模板,类中定义了具体对象所共有的属性和方法,通过这个模板生成具体的对象,调用每个对象自己的方法,改变的就是具体对象的属性值。
对象是类的具体表示。
通过类可以创建多个对象,例如:Student s=new Student();
Java中的数据类型
基本数据类型:int short long float double boolean byte char
类类型(引用类型、对象类型):String字符串、自定义类型
类:java中的基本单位,是抽象的
对象:具体的
类中只有:属性、方法
通常可以通过方法来改变其属性
构造函数:Student()学生类的构造函数
通过new 来调用构造函数(构造器)
作用:创建对象
每一类都默认有一个的无参数的构造函数
同时可以自己再重新定义其他的构造函数
构造函数重载(overload)
参数有区别:数量、类型
好处:可以给属性赋值,提供更多选择
在构造函数中可以调用其他的函数
package cn.netjava.game.cf0315;
import java.util.Random;
public class Monster {
private String name;
private int blood;
private String skill;
public Monster(){
this("怪兽",100);
}
public Monster(String name,int blood){
this(name,blood,"普通攻击");
}
public Monster(String name,int blood,String skill){
this.name=name;
this.blood=blood;
this.skill=skill;
}
//设置怪兽的名字
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
//设置血量
public void setBlood(int blood){
this.blood=blood;
}
public int getBlood(){
return blood;
}
//设置攻击方法
public void setSkill(String skill){
this.skill=skill;
}
public String getSkill(){
return skill;
}
//怪兽攻击奥特曼
public void attack(soldier sol){
//设置随机数
Random rand1=new Random();
//设置奥特曼血量减少
sol.setBlood(sol.getBlood()-rand1.nextInt(15));
System.out.println(name+"使用了"+skill+"攻击了"+sol.getName()+","+sol.getName()+"剩余了"+sol.getBlood()+"的血量");
}
}
package cn.netjava.game.cf0315;
import java.util.Random;
public class soldier {
private String name;
private int blood;
private String skill;
//创建构造函数;
public soldier(){
this("奥特曼",100);
}
public soldier(String name,int blood){
this(name,blood,"普通攻击");
}
public soldier(String name,int blood,String skill){
this.name=name;
this.blood=blood;
this.skill=skill;
}
//设置名字
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
//设置血量
public void setBlood(int blood){
this.blood=blood;
}
public int getBlood(){
return blood;
}
//设置攻击技巧
public void setSkill(String skill){
this.skill=skill;
}
public String getSkill(){
return skill;
}
//奥特曼攻击怪兽
public void attack(Monster mon){
//实例化一个随机数类的对象
Random rand=new Random();
//减少怪兽的血量
mon.setBlood(mon.getBlood()-rand.nextInt(15));
System.out.println(name+"使用了"+skill+"攻击了"+mon.getName()+","+mon.getName()+"剩余了"+mon.getBlood()+"的血量。");
}
}
package cn.netjava.game.cf0315;
import java.util.Random;
/**
* 主函数的类
* @author 曹芳
*
*/
public class playGame {
/**
* 程序的入口
*/
public static void main(String[] args){
//创建一个战士类的方法
soldier sol=new soldier();
//创建一个怪兽类的方法
Monster mon=new Monster();
while(sol.getBlood()>0&&mon.getBlood()>0){
//实例化一个随机数类的对象
Random rand2=new Random();
int value=rand2.nextInt(2);
//调用游戏对战平台的方法
playGame.test(sol,mon,value);
}
}
public static void test(soldier sol,Monster mon,int i){
switch(i){
case 0:
//while(sol.getBlood()>0&&mon.getBlood()>0){
//调用战士的攻击方法
sol.attack(mon);
if(mon.getBlood()<=0){
System.out.println(sol.getName()+"胜利了");
break;
}
//}
break;
case 1:
//while(sol.getBlood()>0&&mon.getBlood()>0){
//调用怪兽的攻击方法
mon.attack(sol);
if(sol.getBlood()<=0){
System.out.println(mon.getName()+"胜利了");
break;
}
//}
}
}
}
对象是类的具体表示。
通过类可以创建多个对象,例如:Student s=new Student();
Java中的数据类型
基本数据类型:int short long float double boolean byte char
类类型(引用类型、对象类型):String字符串、自定义类型
类:java中的基本单位,是抽象的
对象:具体的
类中只有:属性、方法
通常可以通过方法来改变其属性
构造函数:Student()学生类的构造函数
通过new 来调用构造函数(构造器)
作用:创建对象
每一类都默认有一个的无参数的构造函数
同时可以自己再重新定义其他的构造函数
构造函数重载(overload)
参数有区别:数量、类型
好处:可以给属性赋值,提供更多选择
在构造函数中可以调用其他的函数
package cn.netjava.game.cf0315;
import java.util.Random;
public class Monster {
private String name;
private int blood;
private String skill;
public Monster(){
this("怪兽",100);
}
public Monster(String name,int blood){
this(name,blood,"普通攻击");
}
public Monster(String name,int blood,String skill){
this.name=name;
this.blood=blood;
this.skill=skill;
}
//设置怪兽的名字
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
//设置血量
public void setBlood(int blood){
this.blood=blood;
}
public int getBlood(){
return blood;
}
//设置攻击方法
public void setSkill(String skill){
this.skill=skill;
}
public String getSkill(){
return skill;
}
//怪兽攻击奥特曼
public void attack(soldier sol){
//设置随机数
Random rand1=new Random();
//设置奥特曼血量减少
sol.setBlood(sol.getBlood()-rand1.nextInt(15));
System.out.println(name+"使用了"+skill+"攻击了"+sol.getName()+","+sol.getName()+"剩余了"+sol.getBlood()+"的血量");
}
}
package cn.netjava.game.cf0315;
import java.util.Random;
public class soldier {
private String name;
private int blood;
private String skill;
//创建构造函数;
public soldier(){
this("奥特曼",100);
}
public soldier(String name,int blood){
this(name,blood,"普通攻击");
}
public soldier(String name,int blood,String skill){
this.name=name;
this.blood=blood;
this.skill=skill;
}
//设置名字
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
//设置血量
public void setBlood(int blood){
this.blood=blood;
}
public int getBlood(){
return blood;
}
//设置攻击技巧
public void setSkill(String skill){
this.skill=skill;
}
public String getSkill(){
return skill;
}
//奥特曼攻击怪兽
public void attack(Monster mon){
//实例化一个随机数类的对象
Random rand=new Random();
//减少怪兽的血量
mon.setBlood(mon.getBlood()-rand.nextInt(15));
System.out.println(name+"使用了"+skill+"攻击了"+mon.getName()+","+mon.getName()+"剩余了"+mon.getBlood()+"的血量。");
}
}
package cn.netjava.game.cf0315;
import java.util.Random;
/**
* 主函数的类
* @author 曹芳
*
*/
public class playGame {
/**
* 程序的入口
*/
public static void main(String[] args){
//创建一个战士类的方法
soldier sol=new soldier();
//创建一个怪兽类的方法
Monster mon=new Monster();
while(sol.getBlood()>0&&mon.getBlood()>0){
//实例化一个随机数类的对象
Random rand2=new Random();
int value=rand2.nextInt(2);
//调用游戏对战平台的方法
playGame.test(sol,mon,value);
}
}
public static void test(soldier sol,Monster mon,int i){
switch(i){
case 0:
//while(sol.getBlood()>0&&mon.getBlood()>0){
//调用战士的攻击方法
sol.attack(mon);
if(mon.getBlood()<=0){
System.out.println(sol.getName()+"胜利了");
break;
}
//}
break;
case 1:
//while(sol.getBlood()>0&&mon.getBlood()>0){
//调用怪兽的攻击方法
mon.attack(sol);
if(sol.getBlood()<=0){
System.out.println(mon.getName()+"胜利了");
break;
}
//}
}
}
}