title: Java基礎語法(9)-面向對象之類的成員 html
blog: CSDNjava
data: Java學習路線及視頻程序員
兩者都是一種思想,面向對象是相對於面向過程而言的。面向過程,強調的是功能行爲,以函數爲最小單位,考慮怎麼作。面向對象,將功能封裝進對象,強調具有了功能的對象,以類/對象爲最小單位,考慮誰來作。數組
面向對象更增強調運用人類在平常的思惟邏輯中採用的思想方法與原則,如抽象、分類、繼承、聚合、多態等。數據結構
面向對象的三大特徵函數
封裝 (Encapsulation)工具
繼承 (Inheritance)學習
多態 (Polymorphism)測試
修飾符 class 類名 { 屬性聲明; 方法聲明; } 說明:修飾符public:類能夠被任意訪問類的正文要用{ }括起來
public class Person{ private int age ; //聲明私有變量 age public void showAge(int i) { //聲明方法showAge( ) age = i; } }
類名 對象名 = new 類名();
Animal xb=new Animal();
對象名.對象成員的方式訪問對象成員(包括屬性和方法)
//Animal類 public class Animal { public int legs; public void eat(){ System.out.println(「Eating.」); } public viod move(){ System.out.println(「Move.」); }
public class Zoo{ public static void main(String args[]){ //建立對象 Animal xb=new Animal(); xb.legs=4;//訪問屬性 System.out.println(xb.legs); xb.eat();//訪問方法 xb.move();//訪問方法 } }
修飾符 數據類型 屬性名 = 初始化值 ;.net
public class Person{ private int age; //聲明private變量 age public String name = 「Lila」; //聲明public變量 name }
class Person{ //1.屬性 String name;//姓名--成員變量 int age = 1;//年齡 boolean isMale;//是不是男性 public void show(String nation){ //nation:局部變量 String color;//color:局部變量 color = "yellow"; } } //測試類 class PersonTest{ public static void main(String[] args){ Person p = new Person(); p.show(「USA」); } }
public class Person{ private int age; public int getAge() { //聲明方法getAge() return age; } public void setAge(int i) { //聲明方法setAge age = i; //將參數i的值賦給類的成員變量age } }
修飾符 返回值類型 方法名(參數類型 形參1, 參數類型 形參2, ….){ 方法體程序代碼 return 返回值; } 修飾符:public,缺省,private, protected等
無返回值 | 有返回值 | |
---|---|---|
無形參 | void 方法名(){} | 返回值的類型 方法名(){} |
有形參 | void 方法名(形參列表){} | 返回值的類型 方法名(形參列表){} |
注意
方法的重載
在同一個類中,容許存在一個以上的同名方法,只要它們的參數個數或者參數類型不一樣便可。
與返回值類型無關,只看參數列表,且參數列表必須不一樣。(參數個數或參數類型)。調用時,根據方法參數列表的不一樣來區別。
//返回三個整數的和 int add(int x,int y,int z){ return x+y+z; }
//可變參數 public void test(String a,int... b){ for (int i : b) { Log.i("test:","b:" + i); } }
Person p = new Person(「Peter」,15);
修飾符 類名 (參數列表) { 初始化語句; }
//建立Animal類的實例 //調用構造器,將legs初始化爲4。 public class Animal { private int legs; // 構造器 public Animal() { legs = 4; } public void setLegs(int i) { legs = i; } public int getLegs() { return legs; }
代碼塊的做用:
代碼塊的分類:
靜態代碼塊:用static修飾的代碼塊
非靜態代碼塊:沒有static修飾的代碼塊
class Person { public static int total; static { total = 100; System.out.println("in static block!"); } } public class PersonTest { public static void main(String[] args) { System.out.println("total = " + Person.total); System.out.println("total = " + Person.total); } }
程序中成員變量賦值的執行順序
class Outer { private int s; public class Inner { public void mb() { s = 100; System.out.println("在內部類Inner中s=" + s); } } public void ma() { Inner i = new Inner(); i.mb(); } } public class InnerTest { public static void main(String args[]) { Outer o = new Outer(); o.ma(); } }
2020-3-31: Java基礎語法(6)-註釋
2020-3-31: Java基礎語法(7)-數組
今日好文推薦
今日資料推薦