首頁 Java java教程 java對象怎麼理解?

java對象怎麼理解?

May 20, 2019 am 11:46 AM
java 物件 類別

Java是一種物件導向的程式設計語言(Object Oriented Programming:OOP),物件導向的程式設計語言中有類別和物件的概念,那麼它們在概念上到底有什麼差別呢?下面就跟我一起了解一下吧。

java對象怎麼理解?

下面解釋下java語言中什麼是類,什麼是物件?

類別就是具備某些共同特徵的實體的集合,它是一種抽象的資料類型,它是對所具有相同特徵實體的抽象化。在物件導向的程式設計語言中,類別是對一類「事物」的屬性與行為的抽象化。

對象就是一個真實世界中的實體,對象與實體是一一對應關係的,意思是現實世界的每一個實體都是一個對象,所以對象就是一個具體的概念。

類別是物件的集合,物件是類別的實例;物件是透過new className產生的,用來呼叫類別的方法;類別的建構方法 .。

類別和物件的區別
  1,類別是一個抽象的概念,它不存在於現實中的時間/空間裡,類別只是為所有的物件定義了抽象的屬性與行為。就好像「Person(人)」這個類,雖然它可以包含很多個體,但它本身不存在於現實世界。
  2,物件是類別的一個具體。它是一個實實在存在的東西。
  3,類別是一個靜態的概念,類別本身不攜帶任何資料。當沒有為類別建立任何物件時,類別本身不存在於記憶體空間中。
  4,物件是一個動態的概念。每一個物件都存在著有別於其它物件的屬於自己的獨特的屬性和行為。物件的屬性可以隨著它自己的行為而改變。

舉一個例子說明下類

例如Person(人)就是一個類,那麼具體的某個人「張三」就是「人類」這個類的對象,而「姓名、身高、體重」等資訊就是對象的屬性,人的動作如「吃飯、穿衣」等就是對象的方法。總之類別就是有相同特徵的事物的集合,而物件就是類別的一個具體實例。同時類別有多態和繼承,例如“人類”可以分為“男人、女人”,“老人、小孩”那麼“男人、女人”就是“人類”的子類等等。
  Java語言中對類別Person的定義往往如下:

public class Person {
   private String name; //属性:姓名
   private int height; //属性:身高
   private int weight; //属性:体重
   public Person() {}
   public Person(String name, int height, int weight) {
   this.name = name;
   this.height = height;
   this.weight = weight;
   }
  
   //... some methods...
  
   public void doSth() { //行为:
   //... do something
   }
  }
登入後複製

物件是類別的具體的個體。例如,張三是類別Person的一個物件。 Person可能存在無數個物件(就好像地球上存在數十億人一樣)。
方法是被物件呼叫的例如“張三.穿衣()”,用static修飾的方法是靜態的方法或稱為共享方法,一般用類別名稱直接呼叫。
Java中,物件的建立可以使用new來建立一個物件。例如:

Person zhangsan = new Person("Zhangsan", 170, 65); //创建对象:“Zhangshan”
zhangsan.doSth(); //对象行为:对象自己发出行为
登入後複製

相關學習推薦:java基礎

#

以上是java對象怎麼理解?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java 中的平方根 Java 中的平方根 Aug 30, 2024 pm 04:26 PM

Java 中的平方根指南。下面我們分別透過例子和程式碼實作來討論平方根在Java中的工作原理。

Java 中的完美數 Java 中的完美數 Aug 30, 2024 pm 04:28 PM

Java 完美數指南。這裡我們討論定義,如何在 Java 中檢查完美數?

Java 中的隨機數產生器 Java 中的隨機數產生器 Aug 30, 2024 pm 04:27 PM

Java 隨機數產生器指南。在這裡,我們透過範例討論 Java 中的函數,並透過範例討論兩個不同的生成器。

Java中的Weka Java中的Weka Aug 30, 2024 pm 04:28 PM

Java 版 Weka 指南。這裡我們透過範例討論簡介、如何使用 weka java、平台類型和優點。

Java 中的史密斯數 Java 中的史密斯數 Aug 30, 2024 pm 04:28 PM

Java 史密斯數指南。這裡我們討論定義,如何在Java中檢查史密斯號?帶有程式碼實現的範例。

Java Spring 面試題 Java Spring 面試題 Aug 30, 2024 pm 04:29 PM

在本文中,我們保留了最常被問到的 Java Spring 面試問題及其詳細答案。這樣你就可以順利通過面試。

突破或從Java 8流返回? 突破或從Java 8流返回? Feb 07, 2025 pm 12:09 PM

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

Java 中的時間戳至今 Java 中的時間戳至今 Aug 30, 2024 pm 04:28 PM

Java 中的時間戳記到日期指南。這裡我們也結合範例討論了介紹以及如何在java中將時間戳記轉換為日期。

See all articles