天天看點

我的Java學習之路(第八天)------類和對象

(參考網易雲課堂:龍馬高新教育)

一、類的聲明與定義

1.1 類的聲明

[通路修飾符] class 類名稱{

//類的成員變量
 //類的成員方法
 }      

通路修飾符:

①public:公有的,Java中權限最寬的修飾符,本類、本包内的類、以及包外的類也能通路

②private:私有的,本類可以通路

③protected:介于public和private之間,和繼承有關。本類,子類可以通路

④final:最終的,無法改變的。

⑤預設模式:不加修飾符,隻能本包内、本類内可以通路;

類名稱:隻能是字母、數字、下劃線、$組成,不能以數字開頭、不能使用關鍵字,一般首字母大寫;

這是老師上課講的東西,先記下來
package Pseson;

public class Person {
  String name;
  int age;
  //上面兩個叫做成員變量
  /**
   * talk方法(成員方法 )
   */
  void talk() {
    System.out.println("我是"+name+"今年"+age);
  }
}      
1.2 類的定義
      通路修飾符 類的成員變量的定義:
    資料類型 屬性[=值];
      類的成員方法的定義:
      通路修飾符 傳回值的資料類型 方法名稱(參數1、參數2...)
      也是列舉一個例子友善我複習      
package Pseson;
/**
 *ColorDefine類
 */
public class ColorDefine {
  String color = "黑色";   //成員變量
   void getMes() {      //成員方法
    System.out.println("定義類");
  }
  
  public static void main(String[] args) { 
    ColorDefine cd = new ColorDefine();     //執行個體化建立對象
    System.out.println(cd.color);      //調用對象的屬性color
    cd.getMes();              //調用對象的方法
  }
}      
1.3類的屬性
  文法:[通路修飾符] 屬性類型 屬性名 [=預設值];
  修飾符:public,private,protected,static,final;
  其中static和final可以組合使用;
  屬性類型:任何類型(基本資料類型和引用資料類型)
  屬性名:隻能是字母,數字,_,$組成,不能以數字開頭,
  不能使用關鍵字。一般首字母小寫,後面單詞首字母大寫;      

二、對象的聲明與使用

2.1 對象的聲明

文法:類名 對象名 = new 類名([形參]);

2.2 對象的使用

如果要通路對象某個變量或成員方法:

對象名.屬性名 ;對象名.方法名([形參]);

package Pseson;

public class TestPerson {
  public static void main(String[] args) {
    Person p = new Person();     //聲明Person并直接執行個體化此對象
    System.out.println(p.age);   //調用對象p的成員變量
    System.out.println(p.name);  //調用對象p的成員變量
    p.name = "加油";
    p.age = 10;
    System.out.println(p.age);   //調用對象p的成員變量
    System.out.println(p.name);
    p.talk();
    System.out.println("匿名對象");
    new Person().say();
  }
}      

🌂匿名對象:當我們隻需要使用對象一次時,可以使用;

2.3對象的比較
 兩種方式:①使用“==”運算符;        ---比較的是兩個對象記憶體位址
          ②使用equals()方法;---比較的是兩個對象的内容      

2.4對象數組的使用

package demo2;

public class Test {

  public static void main(String[] args) {
    Person persons[];   //聲明Person類型的數組
    persons = new Person[3];
    for(int i=0;i<persons.length;i++) {
      persons[i] = new Person();  //執行個體化對象
      persons[i].name = "沖沖沖";
      persons[i].age = 10+i;
    }
    System.out.println(persons[2].name);
    
  }

}      

繼續閱讀