import java.util.Scanner;
Scanner.s=new Scanner(System.in);
int myin=s.nextInt();
import java.util.Scanner;
Scanner.s=new Scanner(System.in);
int myin=s.nextInt();
使用binarySearch之前,必须先对数组进行排序(sort)
引用类型可以是一个类
参数和属性名重名不能
1.用类来创建的对象
Player p1 = new Player();
局部变量必须初始化
当我们没有定义任何构造方法的时候,系统会帮我们提供一个默认的无参构造方法
一个类中如果提供了有参构造方法,那就只能调用有参方法
this当前类
super父类
显示:super(参数)
方法三要素:方法名,参数,返回值
我还是觉得用匿名内部类不如再写一个类,保不齐下次又要用。
匿名内部类不需要重写父类构造方法,直接用就好。父类里面的非抽象方法也可以直接写
类 class
成员变量:属性
成员方法:行为
class Player{
}
可以是苍井空老师,在教什么课呢?不知道,大家可以去看一下哈。
//代码重构
类class的划分
成员变量:属性
成员方法:行为
局部变量,main里定义的是局部变量,只在方法内有效,调用方法是,放在栈里,必须手动初始化
成员变量 在类里定义,不占用内存,new出来调用内存空间,放在堆里,自动初始化
静态方法无法使用非静态变量
this代表当前对象
生成文档:
javadoc -d api demo.java
注意:类是必须是公开的
class Player{
String name;
int tankLevel;
int damage;
int tankHp;
public void move(){
System.out.println("控制主角移动");
}
public void attack(){
System.out.println("控制主角攻击");
}
public void takeDamage(int damage){
tankHp -=damage;
}
public boolean isDead(){
if(tankHp<=0)return true;
else return false;
}
}
class Enemy{
int type =1;
int hp = 100;
int damage = 10;
public void takeDamage(int damage){
System.out.println("我收到了"+damage+"点伤害");
hp -= damage;
}
public boolean isDead(){
if(hp<=0)return true;
else return false;
}
}
public class TankDemo {
public static void main(String[] args) {
int score =0;int lifeNum =3;int level = 1;
Player p1 = new Player();
System.out.println(p1.name);
System.out.println(p1.tankLevel);
System.out.println(p1.damage);
p1.name = "小强";
p1.tankLevel = 1;
p1.damage = 10;
p1.tankHp = 100;
Enemy enemy1 = new Enemy();
enemy1.type=1;enemy1.hp=100;enemy1.damage=10;
Enemy enemy2 = new Enemy();
enemy2.type=1;enemy2.hp=100;enemy2.damage=10;
Enemy enemy3 = new Enemy();
enemy3.type=1;enemy3.hp=100;enemy3.damage=10;
Enemy enemy4 = new Enemy();
enemy4.type=1;enemy4.hp=100;enemy4.damage=10;
Enemy enemy5 = new Enemy();
enemy5.type=2;enemy5.hp=100;enemy5.damage=20;
p1.move();
p1.attack();
enemy3.takeDamage(p1.damage);
if(enemy3.isDead()){
System.out.println("3号敌人死亡");
score +=50;
}
p1.takeDamage(enemy3.damage);
if(p1.isDead()){
if(lifeNum>0){
System.out.println("复活主角");
lifeNum --;
}else{
System.out.println("GameOver");
}
}
}
}