JAVA新手攻略 對象使用(一)

1.面向對象編程繞不開類和類下面的成員方法。

如果類需要多個實例.引用同1個類的成員方法,new 7個實例化對象在去引用skill是不合理的。

這裏我們可以用到循環下標結合類進行實例化,註釋用了一把英文。

public class Heros 
{ 
	public static void main(String[] args) { 
	    Heros hero[] = new Heros[7]; //Defining hero[] arrays,class Heros->hero
	    for(int i = 0; i < 7;i++){ //reads the hero arrays subscript
	    hero[i] = new Heros();	//Substituting for instantiated objects
	    hero[i].skill();
        } 
    } 
	public void skill() { 
        System.out.println("put skill!"); 
    } 
}

2. 屬於類的成員方法可以帶返回數值和不帶返回數值的。一般用void是不帶返回數值的

public class Heros{
    
    private void rename(Heroname name){  //name的形參
        Heroname hn =new Heroname();
        //hn.name ="xxx" //隨意修改
        System.out.println("hero name update is"+hn.name)
    } 

    public int getInitHp(){ //定義1個給予英雄初始血量的方法
        return 30; //初始爲30
    }
    //可以把修改英雄名稱的方法也寫成沒有返回數值的
    
    public static void(String[] args){
        Heros heros =new Heros();
        int hp =0; //可以直接寫下面調用
        int hp =heros.getInitHp();
        heros.rename("陳小貓") //陳小貓這裏就是形參
        System.out.println("heros have initHp is "+hp);
    }


}
class Heroname{
    public String name="";
}

3.傳遞多個參數

和其他語言一樣,java也支持多個參數在函數()內傳遞。要求也是數量一致,函數內順序一致,順序對應的類型一致。

public class Heros 
{ 

    public void skills(String skill1,String skill2) { 
         dobule[] skillsList =new dobule[2];
         skillsList[0] =skill1;
         skillsList[1] =skill2;
         System.out.println("first skill is"+skillsList[0],"second skill is "+skillList[1])
    }     

	public static void main(String[] args) { 
        Heros heros =new Heros();
        String wd_skill ="太極劍"; //skillsList[1]
        String tm_skill ="金蛇刺" //skillsList[0]
        heros.skills(tm_skill,wd_skill) //這裏決定了實參的入參的順序 
        
    } 
	
}

4.getter和setter

getter與setter讓程序執行getxxx與setxxx的方法。getter功能只有返回實例變量的值,類似python對應的魔法方法。setter就是要通過一個參數來設定實例變量的值,getxxx()內是沒有形參,返回的類型需要和實際方法相匹配。以上二類方法都是需要返回的,所以不要使用void

public class wuxia 
{ 
	String adviser;\\武俠世界裏的客卿,歸屬於門閥門派以及對外的鏢局等等 
	String school; \\門派
	
	//類型一樣 get,用的順序是先 實例化類對象後set->get
	String getAbviser(){
		return adviser;
	}
	
	String setAbviser(String newAdviser){  //set客卿
		adviser =newAdviser;
	}
	
	String getSchool(){
		return school;
	}
	
	String setAbviser(String newSchool){  //set客卿
		school =newSchool;
	}
	
	public static void main(String[] args){
		wuxia wx =new wuxia();
		wx.setAbviser("鹿杖客");//類型需要一致
		wx.getSchool("元都邵敏郡主旗下");//類型需要一致
		//輸入需要用get
		System.out.println("客卿是"+wx.getAbviser(),客卿所屬於的門派是			

	+wx.getSchool())
		
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章