標籤:就是 dota 定義 狀態 參數 print 移動 png 解釋
一、什麼是類、對象和方法?
1.類
類用官方解釋為:類是一個模板,它描述一類對象的行為和狀態。類本身就是一種抽象的概念(以後我們還會介紹抽象類別)。
舉個例子:DOTA中有許多英雄。這些英雄(無論是敏捷還是力量型,無論是天輝還是夜魘)都可以統稱為DOTA英雄,DOTA英雄就是一個大類。當然,我們還可以繼續劃分,比如力量型是一類,敏捷型是一類。天輝是一類,夜魘是一類。
2.類的屬性或狀態
通過上邊的例子,我們發現英雄都有名字、血量、魔法值、技能個數、移動速度等等。這些就是我們這一類的屬性或狀態。當然,力量型或敏捷型英雄可能有不同的屬性,這就涉及到了繼承,比如天輝力量型英雄有天輝英雄的屬性,而無論天輝還是夜魘都有DOTA英雄的屬性,具體在以後再細說。
//建立了一個公用類,類名叫DOTAHero//類的聲明格式/*public class 類名{}class 類名{}*/public class DOTAHero{ //DOTAHero有姓名、血量、技能個數、移動速度等這些屬性
//屬性定義格式:資料類型 屬性名稱
//資料類型可以是基礎資料型別 (Elementary Data Type)也可以是引用資料類型,String就是引用資料類型
String name; float HP; int skill; int moveSpeed;}
3.對象
對象是類的一個執行個體,例如
我們劃分了DOTA英雄這個類,那麼我們就可以創造一個實實在在的英雄出來,比如我們建立一個英雄叫劍聖,劍聖這個英雄就是DOTA英雄這個類的一個執行個體化對象。
建立好劍聖這個英雄後我們就可以給他設定名字、血量等屬性,叫做初始化,如果我們不設定,那麼他的值預設為0或空。
public class DOTAHero {String name;int skill;float HP;int moveSpeed;
public static void main(String[] args) {//對象的建立用new關鍵字//格式: 類名 + 對象名 = new 類名(); DOTAHero Hero=new DOTAHero();//我們給建立的這個英雄起了個名字叫劍聖 Hero.name="劍聖";//劍聖的血量是600,技能是4個,移動速度是110; Hero.HP=600; Hero.skill=4; Hero.moveSpeed=110;//如果我們不設定這些具體的值,那麼這些屬性的預設值為0或nullSystem.out.println("英雄名:"+Hero.name+",血量:"+Hero.HP+",技能個數:"+Hero.skill); }}
那麼JVM是怎麼來給這個執行的呢?
4.方法
方法就是對象可以執行的動作,它是為了執行一個功能而編寫語句的集合。
比如:我們建立的這個劍聖可以攻擊,可以釋放技能,可以升級,可以買裝備,這些就叫做方法。
public class DOTAHero {String name;int skill;float HP;int moveSpeed; public static void main(String[] args) { DOTAHero Hero=new DOTAHero(); Hero.name="劍聖"; Hero.HP=600; }//這就是聲明了一個攻擊的方法/*方法的聲明格式:public static 傳回值類型 方法名稱(參數列表){ 程式語句; [return[傳回值];]}傳回值類型必須相同如果沒有傳回值聲明時用void*/public static void attack() {//這就是一個無傳回值,無參數的方法 System.out.println("普通攻擊"); }}
5.方法的調用
方法可以在主方法中調用
public class DOTAHero {String name;int skill;float HP;int moveSpeed; public static void main(String[] args) { DOTAHero Hero=new DOTAHero(); Hero.name="劍聖"; Hero.HP=600;//調用attack方法 attack(); }public static void attack() { System.out.println("攻擊");}}
public static 傳回值類型 方法名稱(參數列表){
程式語句;
[return[傳回值];]
}
Java基礎9-java的類、對象和方法