萬事萬物皆對象,某一具體事物就是一對象,比如說 李偉這個人,膚色是黑色的,牙齒是白色的,等等、
類主要有兩部分組成:屬性和方法
比如說手機類,他的屬性包括顏色,品牌型號,等等 功能可以打電話,玩遊戲,發短信等等
類實例化產生對象
實例化格式
類名 對象名=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);
}
}
}