1. 程式人生 > >JAVA學習筆記(5)物件和類(上)

JAVA學習筆記(5)物件和類(上)

1.        面向物件程式設計(OOP)就是使用物件進行程式設計。物件有自己的特性,狀態和行為。物件的狀態是由具有當前值得資料域(又稱屬性)的集合構成。物件的行為是方法的集合定義的。呼叫物件的一個方法就是要求物件執行一次任務。

2.        類是定義同一型別物件的結構,在JAVA的類中,資料用來描述屬性,方法用來定義行為。此外,還有構造方法,呼叫它可以用來建立類的物件。構造方法很像一般的方法,可以執行任何操作,但是設計構造方法是為了初始化操作。

3.        使用構造方法建立物件:構造方法必須與定義它的類有完全相同的名字。和所有方法一樣,構造方法可以被過載,從而更易用不同的初始資料值來構造物件。

4.        在類中建立一個物件,使用new操作符呼叫構造方法,如:new類名(引數)。

a)        正常情況下,類提供一個沒有引數的構造方法,這樣的構造方法稱為無參構造方法或沒有引數構造方法。

b)        一個類可以不宣告構造方法,在這種情況下,類中隱含地聲明瞭一個方法體為空的無參構造方法,這個構造方法稱為預設構造方法。

c)        構造方法時一種特殊的方法,與一般方法有三點不同:

                        i.             構造方法必須與所在的類具有相同的名字;

                      ii.             構造方法沒有返回型別,甚至連void也沒有;

                     iii.             構造方法的呼叫是在建立一個物件時使用new操作符進行的。構造方法的作用是初始化物件。

5.        類是一個藍本,定義物件的資料和方法。一個物件時類的一個例項。可以從一個類中建立多個例項。建立一個例項被稱為例項化。物件和例項兩個詞經常互換使用。

6.        通過應用變數來訪問物件:該變數包含物件的引用地址,eg : 類名物件引用變數名。

a)        一個類所定義的型別被稱為引用型別。任何型別為類的變數都能引用該類的一個例項。

b)        利用:類名物件引用變數 = new 類名();,可以用一條語句宣告引用變數、建立物件以及將物件引用賦給變數。

c)        在JAVA中,陣列看作物件,陣列使用new操作符建立的,一個數組實際上是包含陣列引用的變數。

7.        訪問物件的資料和方法:

a)        通過“點”運算子訪問

b)        有時候,建立一個物件但不把它明確地賦給變數,這樣建立的物件稱為匿名物件

8.        基本資料型別變數和引用型別變數的區別:對基本資料型別變數來說,對應記憶體所儲存的值是基本資料型別的。對引用型別變數來說,它的值是一個引用,是物件的地址。

9.        可見性修飾符:

a)        public使得類、方法和資料域可以在任何類中訪問

b)        private使得方法和資料域只能從它自己所在的類中訪問

c)        如果不用public和private,預設情況下,類、方法和資料域可以從同一個包裡的任何類中訪問

d)        一個物件不能訪問自己類中的私有成員,但是如果物件是在自己類中宣告的則可以

e)        修飾符private只修飾資料和方法,不能修飾整個類(除了內部類),可見修飾符用於類的成員而不能用於方法中的區域性變數。在方法中可見修飾符將引起編譯錯誤。

10.    使用private修飾符宣告私有域,稱為資料域封裝

a)        在定義私有資料的類之外,物件不能通過直接引用訪問該資料域。為了客戶能夠訪問私有資料域,可以編寫一個get方法返回資料值,編寫一個set方法設定資料值。這樣set和get成了修改資料的唯一途徑,從而使得程式更易維護。

b)        get方法的形式:public返回型別get屬性名();如果返回值是boolean型,習慣上get方法的定義如下:publicboolean is屬性名();

c)        set方法的形式如下:publicvoid set屬性名(資料型別屬性值)

相關推薦

JAVA學習筆記5物件

1.        面向物件程式設計(OOP)就是使用物件進行程式設計。物件有自己的特性,狀態和行為。物件的狀態是由具有當前值得資料域(又稱屬性)的集合構成。物件的行為是方法的集合定義的。呼叫物件的一個方法就是要求物件執行一次任務。 2.        類是定義同一型別

Java學習筆記——設計模式之六.原型模式淺克隆深克隆

catch 新的 att over 引用變量 col logs implement pri That there‘s some good in this world, Mr. Frodo. And it‘s worth fighting for. 原型模式(prot

《Oracle PL/SQL開發指南》學習筆記31——原始碼除錯——函式過程第四部分,物件表函式,result_cache子句

  建立一個物件表函式有三個步驟: 1. 定義記錄結構為物件型別 2. 定義集合 3. 定義一個函式來展示如何從PL/SQL上下文向SQL上下文返回集合   1. 建立基本的SQL使用者自定義型別(UDT) 注意:發現竟然不能使用distinct關

Python學習筆記__4.5章 偏函數綁定函數參數

編程語言 Python # 這是學習廖雪峰老師python教程的學習筆記1、概覽偏函數(Partial function)是functools模塊的一個功能functools.partial的作用就是,在一個已存在的函數基礎上。把它的某些參數給固定住(也就是設置默認值),然後返回一個新的函數,調用這個

JAVA學習筆記-----第六天引用資料型別

●引用資料型別(類)     ■ 類的型別有兩種:         ◆第一種,JAVA為我們提供好的類,如Scanner類,Math類,這些已存在的類中包含了很多的方法和屬性,可供我們使用。   &

《Oracle PL/SQL開發指南》學習筆記31——原始碼除錯——函式過程第三部分,並行查詢及管道函式

  1. PARALLEL_ENABLE子句(啟用並行查詢以提高效能) 首次接觸,學習一下: PARALLEL_ENABLE lets you designate a function to support parallel query capabilities. This

《Oracle PL/SQL開發指南》學習筆記31——原始碼除錯——函式過程第二部分,函式

  1. 命名塊函式原型 [{EDITIONALBE | NONEDITIONALBE}] FUNCTION function_name ( parameter [IN][OUT] [NOCOPY] sql_datatype | plsql_datatype [, parame

《Oracle PL/SQL開發指南》學習筆記31——原始碼除錯——函式過程第一部分,函式呼叫表示法

這節很基礎,卻發現了Oracle的可愛之處,一個函式呼叫就提供了這麼多選項,學起來真夠累的!   1. 在PL/SQL中呼叫函式表示法  SQL> /* Formatted on 2018/12/4 0:08:00 (QP5 v5.256.13226.355

Java 基礎語法 物件

Java物件和類 概念 物件:物件是類的一個例項,有行為和狀態。 類:類是一個模板,它描述一類物件的行為和狀態。 類 一個類可以包含以下型別變數: 區域性變數:在方法、構造方法或者語句塊中定義的變數被稱為區域性變數。變數宣告和初始化都是在方法中,方法結束後,變

【python學習筆記】Python面向物件的理解封裝,繼承,多型

說明 提到面向物件,總是離不開幾個重要的術語:多型(Polymorphism),繼承(Inheritance)和封裝(Encapsulation)。Python也是一種支援OOP的動態語言,本文將簡單闡述Python對面向物件的支援。 在討論Python的O

java學習筆記圖形程式設計及GUI應用小結1

Swing介紹 Swing是不對等基於GUI工具箱的正式名字。它已是Java基礎類庫(Java Foundation Class)JFC的一部分了。Swing沒有完全替代AWT,而是基於AWT架構之上。Swing是指“被繪製的”使用者介面類;AWT是指像事件處理這樣的視

Effictive Java學習筆記1:創建銷毀對象

安全 需要 () 函數 調用 bsp nbsp bean 成了 建議1:考慮用靜態工廠方法代替構造器 理由:1)靜態方法有名字啊,更容易懂和理解。構造方法重載容易讓人混淆,並不是好主意    2)靜態工廠方法可以不必每次調用時都創建一個新對象,而公共構造函數每次調用都會

JSP學習筆記三之response物件request物件

接著上一篇,我們接著講JSP中的內建隱式物件。這篇部落格介紹的是request和response物件。 A. request物件      request物件是javax.servlet.http.HttpServletReq

JAVA學習筆記----第二天面向物件

1.1不同修飾符使用細節 常用來修飾類、方法、變數的修飾符如下: public  許可權修飾符,公共訪問 prtotected  許可權修飾符,受保護訪問 預設什麼也不寫 也是一種許可權修飾符,預設訪問 private 許可權修飾符,私有訪問

java學習筆記】MyBatis中當實體中的屬性名表中的欄位名不一樣時的解決方法

在使用MyBatis開發DAO層時,當實體類中的屬性名和表中的欄位名不一樣時,查詢出來的值為null,此時有3種解決方法 解決方法1                在Mapper.xml對映檔案中,寫SQL語句時起別名 解決

Python面向物件

面向物件程式設計 Ojbect-Oriented Programing  什麼是物件:     物件是指現實中的物體過實體  物件有什麼特徵:     物件有很多屬性(名詞,形容詞)      

Java 學習筆記 二維數組對象數組

int tro 返回 是個 列數 一個 二維數組 [] 學習 定義二維數組 int[][] a = new int[4][5]; 可以不指定列數 int[][] a = new int[4][]; 獲取行 int i = a.length(); 如果使用第一個例子,這裏就

Java學習筆記之——if條件語句三目運算子

一、if條件語句   語法: if(條件){     執行語句1;   }else{     執行語句2; }   二、三目運算子 ?    條件運算子 語法: 表示式?結果1:結果2;   如果表

Java學習筆記之——if條件語句三目運算符

三目運算 img bubuko color if條件語句 最大 image mage true 一、if條件語句 語法: if(條件){   執行語句1; }else{   執行語句2; } 二、三目運算符 ? 條件運算符 語法: 表達式?結果1:

Java學習筆記:Map集合-HashMapHashTable(01)

在面試的過程中經常會被問到一個問題,HashMap和HashTable有什麼不同?我就大概的整理了一些,與大家分享。 一、相同點 都實現了Map介面,底層都是採用的雜湊表(陣列 + 單向連結串列,在JDK1.8以後又加入了紅黑樹。即當連結串列長度大於8時,單向連結串列轉換成紅黑樹--提