天天看點

觸摸Java世界的核心:類與對象 | 帶你學《Java面向對象程式設計》之一

此處可檢視有關Java程式設計入門的文章

【本節目标】

本章重點講解面向對象程式設計的程式設計思想,重點需要掌握類與對象的相關概念,包括定義、聲明、使用等,類與對象是面向程式設計的重要概念,不了解類與對象,就不能說會使用Java語言。

1.1 面向對象簡介

最早并且一直到現在流行的程式設計C、C++、Java。其中C語言已經變為了面向過程開發的代表,而像C++或者Java都是面向對象的程式設計語言。

所謂的面向過程指的是面對于一個問題的解決方案,更多的情況下是不會做出重用的設計思考的,而面向對象的主要的設計形式為子產品化設計,并且可以進行重用配置。在整個的面向對象的設計裡面更多情況下考慮的是标準,而在使用的時候根據标準進行拼裝。對于面向對象設計有三個主要特征:

  • 封裝性:内部的操作對外部而言不可見,當内部操作都不可直接使用的時候才是安全的;
  • 繼承性:在已有結構的基礎上繼續進行功能的擴充;
  • 多态性:是在繼承性的基礎上擴充而來的概念,指的是類型的轉換處理。

在進行面向對象程式開發之中一般還有三個步驟:

OOA:面向對象分析;

OOD:面向對象設計;

OOP:面向對象程式設計。

1.2 類與對象簡介

面向對象是一個非常龐大的話題,但是任何龐大的話題都有其核心的組成:類與對象。

類是對某一類事物的共性的抽象概念,而對象描述的是一個具體的産物。例如:我和某一位先生進行比較的時候,你們可以立刻區分出我還有别人。

我和其他人都一樣,都是一個個具體可以使用的個體産物,但是這些個體都有一些共性的标志:中國人,但是人和人是不同的。所謂的人和人之間的不同依靠的是我們各自的屬性。每一個屬性的集合就構成了一個對象,但是所有的屬性都應該是群體的定義,而群體的定義就形成了一個類。

觸摸Java世界的核心:類與對象 | 帶你學《Java面向對象程式設計》之一

圖一 類與對象

類是一個模闆,而對象才是類可以使用的執行個體,先有類,再有對象。

在類之中一般都會有兩個組成:

成員屬性(Field):有些時候為了簡化稱其為屬性;

  • 一個人的年齡、姓名都是不同的,是以這些對于整體來講就稱為屬性;

操作方法(Method):定義對象具有的處理行為;

  • 這個人可以唱歌、跳舞、遊泳、運動;

1.3 類與對象的定義與使用

1.3.1 類與對象定義

在Java之中類是一個獨立的結構體,是以需要使用class來進行定義,而在類之中主要由屬性和方法所組成,那麼屬性就是一個個具體的變量,方法就是可以操作的重複執行的代碼。

範例:定義一個類

class Person{    //定義一個類
  String name ;  //人員的姓名
  int age ;       //人員的年齡
  public void tell() {
    System.out.println(“姓名:”+ name +”、年齡:”+age) ;
  } 
}           

1.3.2 類與對象的使用

在這個類之中定義有兩個屬性(name、age)和一個方法(tell()),現在有了類之後,如果要想使用類,那麼就必須通過對象來完成,而如果要産生對象,而必須使用如下的文法格式來完成:

  • 聲明并執行個體化對象:類名稱 對象名稱 =new 類名稱();
  • 分步完成:
    • 聲明對象:類名稱 對象名稱 =null;
    • 執行個體化對象: 對象名稱 =new 類名稱()。

當擷取了執行個體化對象之後,那麼就需要通過對象進行類中的操作調用,此時有兩種調用方式:

  • 調用類中的屬性:執行個體化對象.成員屬性;
  • 調用類中的方法:執行個體化對象.方法名稱()。

範例:使用對象操作類

class Person{    //定義一個類
  String name ;  //人員的姓名
  int age ;       //人員的年齡
  public void tell() {
    System.out.println(“姓名:”+ name +”、年齡:”+age) ;
  } 
}
public class JavaDemo {
    public static void main(String args[]) {
      Person per = new Person() ;     //聲明并執行個體化對象
      per.name = “張三” ;
      per.age = 18 ;
      per.tell() ;            //進行方法的調用
  }
}           
觸摸Java世界的核心:類與對象 | 帶你學《Java面向對象程式設計》之一

圖二 執行結果一

如果此時的程式你并沒有進行屬性内容的設定,則該資料内容為其對應資料類型的預設值。

class Person{    //定義一個類
  String name ;  //人員的姓名
  int age ;       //人員的年齡
  public void tell() {
    System.out.println(“姓名:”+ name +”、年齡:”+age) ;
  } 
}
public class JavaDemo {
    public static void main(String args[]) {
      Person per = new Person() ;     //聲明并執行個體化對象
      per.tell() ;            //進行方法的調用
  }
}           
觸摸Java世界的核心:類與對象 | 帶你學《Java面向對象程式設計》之一

圖三 執行結果二

String是引用資料類型是以預設值為null,而int為基本類型,預設值為0。

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。

本内容視訊來源于

阿裡雲大學 下一篇:帶你“找對象”--Java記憶體分析 | 帶你學《Java面向對象程式設計》之二 更多Java面向對象程式設計文章檢視此處