万事万物皆对象,某一具体事物就是一对象,比如说 李伟这个人,肤色是黑色的,牙齿是白色的,等等、
类主要有两部分组成:属性和方法
比如说手机类,他的属性包括颜色,品牌型号,等等 功能可以打电话,玩游戏,发短信等等
类实例化产生对象
实例化格式
类名 对象名=new 类名();
方法包括普通方法和构造方法
普通方法的作用是表示对象的行为、功能。可以重载。
构造方法用于实例化对象和初始化属性值。
构造方法的特点
1、方法名与类名相同
2、无返回值
this的功能
1、表示调用当前方法的类
2、表示本类中的属性
3、调用构造方法
值传递是单向的,变量的值与参数值的变化无关
引用传递,类中存储的是储存在堆内存的首地址,传递地址。
重载的条件
1·方法名一样
2·参数的类型、个数、顺序至少有一个不同
构造方法和普通方法都可以重载
==比较的是地址,而equals比较的是内容。
//建立Soldier类
public class Soldier {
private String name;
private int blood;
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;
}
public Soldier(String name){
this.name=name;
}
public Soldier(String name,int blood){
this.name=name;
this.blood=blood;
}
public void Battle(Boss b){
b.setBlood(b.getBlood()-2);
System.out.println(b.getName()+"被攻击,血量为"+b.getBlood());
if(b.getBlood()<=0) System.out.println(b.getName()+"输了");
}
}
public class Boss {
private String name;
private int blood;
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;
}
public Boss(String name){
this.name=name;
}
public Boss(String name,int blood){
this.name=name;
this.blood=blood;
}
public void Battle(Soldier s){
s.setBlood(s.getBlood()-2);
System.out.println(s.getName()+"被攻击,血量为"+s.getBlood());
if(s.getBlood()<=0) System.out.println(s.getName()+"输了");
}
}
public class Fight {
public static void main(String[] args){
Soldier s=new Soldier("liwei",10);
Boss b1=new Boss("xiaowei");
b1.setBlood(12);
b1.Battle(s);
Boss b=new Boss("xiaotian",100);
while(s.getBlood()>0&&b.getBlood()>0){
s.Battle(b);
b.Battle(s);
}
}
}