JAVA(雜記四) -- 類與物件
東西太多,先寫在程式碼裡了,以後有時間整理
public class Main { public static void main(String[] args) { Employee e1 = new Employee("lyy", 3800.0); // 此處的e1等同於C++指標,new出來的物件返回的是一個引用 Employee e2 = e1; // JAVA沒有預設的複製建構函式 // 因此上一行的作用是e1和e2指向同一物件 e1 = null; // 可將物件變數設定為null,此時若呼叫方法將會出錯 e1 = new Employee("qwe", 2400.0); // 不能使用 e1.Employee("asf", 10000.0); 來構造新物件 // 構造器只能在初始化時使用,不能作為方法呼叫 System.out.println(e1.getId()); // 1002 System.out.println(e2.getId()); // 1002 System.out.println(Employee.getNum()); // 2 } } // JAVA中方法、例項域的宣告和定義均在類中完成 // JAVA不能為類過載運算子 class Employee { // 靜態域 // 只在該類第一次載入時初始化 private static int nextId = 0; // 例項域 // 可以在例項域宣告時初始化,也可由構造器初始化,也可由初始化塊進行初始化 // 若都不進行初始化,則例項域自動初始化為0、null或false private String name = ""; private double salary = 0; private final int id; // 初始化塊,首先執行,之後才會執行構造器 // 不是必須的 { nextId++; id = 1000+nextId; } // 構造器 // JAVA沒有列表初始化 public Employee(String aname, double asalary) { name = aname; salary = asalary; } // 構造器和方法均可以過載,要求名字相同,引數列表不同,而與返回型別無關 // JAVA可以在構造器中呼叫另一個構造器(c++不行) public Employee() { this("nameless", 3500.0); } // 域訪問器 // JAVA不提供const或者final字尾保證例項域不被更改 // 注意,不要直接返回例項域中可變物件(如類的例項)的引用 // 若該引用又使用域更改器( Setxx() ),則破壞了其封裝性 // 應使用clone方法 public String getName() { return name; } public double getSalary() { return salary; } public int getId() { return id; } //這類靜態方法可以直接使用類名訪問,即Employee.getNum() public static int getNum() { return nextId; } public static void swap(Employee e1, Employee e2) { /** * 該方法試圖交換2個引用,但是不會生效 * 因為傳入的引數相當於是C++的指標的拷貝 * 對指標指向的區域修改是有效的 * 但是對拷貝的指標做修改並不會影響到實參 */ Employee tmp = e1; e1 = e2; e2 = tmp; // 由此可見,JAVA對物件採用的是“按值傳遞” // 即方法無法更改基本資料型別 // 但方法可以改變物件引數的狀態,而無法使物件引用一個新物件 } // 域更改器 // 這裡的aname和asalary稱為顯式引數 // 而這裡的name和salary稱為隱式引數,相等於this.name和this.salary public void setName(String aname) { name = aname; } public void setSalary(double asalary){ salary = asalary; } // 自定義類中也可有一個靜態main方法,一般用於單元測試 // Eclipse測試方法,右鍵類名,執行方式-JAVA應用程式,找到該類 public static void main(String[] args) { Employee e1 = new Employee("skw", 4300.0); System.out.println(e1.getId()); System.out.println(Employee.getNum()); } }
相關推薦
JAVA(雜記四) -- 類與物件
東西太多,先寫在程式碼裡了,以後有時間整理public class Main { public static void main(String[] args) { Employee e1 = new Employee("lyy
Java學習筆記(四)類與物件
1. 類與物件: 從語義上理解,類是物件的模板,物件是類的例項,從語法上理解,類是一種資料型別,物件是這種型別的變數。在類的內部,方法可以直接訪問該類的私有變數,但對於外部的類,則不可。注意類中的欄位預設為private。 2. 成員方法的修飾: public,pri
快速學習Kotlin(四)類與物件
Kotlin中的類 class Main{ } class Main1 : AppCompatActivity(){ } class Main2:AppCompatActivity(),View.OnClickListener{ override fun o
《瘋狂Java講義》學習筆記(十四)類載入機制與反射
1、類的載入、連線和初始化 JVM和類 同一個JVM的所有執行緒、所有變數都處於同一個程序裡,它們都使用該JVM程序的記憶體區 當系統出現一下集中情況時,JVM程序將被終止: 程式執行到最後正常結束 程式執行到使用Sytem.exit()或Runti
java面對物件(二)--類與物件
類 Java語言把一組物件中相同屬性和方法抽象到一個Java原始檔就形成了類。 類是建立物件的模板,確定物件將會擁有的屬性和方法。 類是一種資料型別,是物件的型別(不同於int等基本型別:類具有方法) 類是物件的抽象化;
C++語言學習(四)——類與對象
clas 進行 自身 ngs 符號表 方法 index clu 每一個 C++語言學習(四)——類與對象 一、構造函數(constructor) 1、構造函數簡介 C++語言中,構造函數是與類名相同的特殊成員函數。在類對象創建時,自動調用構造函數,完成類對象的初始化。類對象
c++學習總結(三)——類與物件
一、心得感悟 c語言的課程學習後,開始c++的學習,首先就是學習類。在學習類時,類的使用與c語言有著極大的差別,一開始學習十分別扭。c語言的學習直接定義幾個形參、函式就可以寫程式了;而到了c++學習,關於類,首先必須定義類。具有相同性質和功能的東西構成的集合,通常歸成一
JAVA基礎第四章-集合框架Collection篇 JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性:封裝、繼承、多型 JAVA基礎第三章-類與物件、抽象類、介面 記一次list迴圈刪除元素的突發事件!
業內經常說的一句話是不要重複造輪子,但是有時候,只有自己造一個輪子了,才會深刻明白什麼樣的輪子適合山路,什麼樣的輪子適合平地! 我將會持續更新java基礎知識,歡迎關注。 往期章節: JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性
JAVA基礎第五章-集合框架Map篇 JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性:封裝、繼承、多型 JAVA基礎第三章-類與物件、抽象類、介面 JAVA基礎第四章-集合框架Collection篇
業內經常說的一句話是不要重複造輪子,但是有時候,只有自己造一個輪子了,才會深刻明白什麼樣的輪子適合山路,什麼樣的輪子適合平地! 我將會持續更新java基礎知識,歡迎關注。 往期章節: JAVA基礎第一章-初識java
c++實戰開發詳解(二)類與物件
一、面向物件程式設計介紹 (一)什麼是面向物件? 面向將系統看成通過互動作用來完成特定功能的物件的集合。每個物件用自己的方法來管理資料。也就是說只有物件內部的程式碼能夠操作物件內部的資料。
OOP(一)類與物件
類對一類相同事物的抽象描述物件,屬於該對應類的一個例項物件的三個主要特徵:行為---可以對物件施加什麼操作或者方法狀態---當執行方法後,物件如何響應標識---如何辨別相同行為與狀態的不同物件基本定義格式[修飾符] class 類名{成員變數構造器方法}public clas
C++程式設計(四)—— 類和物件
一、類及其例項化 1、定義類 類要先聲明後使用;不能宣告兩個名字相同的類,類是具有唯一識別符號的實體;在類中宣告的任何成員不能使用extern、auto、register關鍵字進行修飾;類中宣告的變數屬於該類,在某些情況下,變數也可以被該類的不同例項所共享
JAVA——第四章——類與物件
接著上一篇部落格的總結,我已經學習並總結到了JAVA的類構造器,接著學習並總結。 四 . 將訊息傳給方法或構造器 引數即是將資料傳送給方法或構造器的媒介。形參是指方法宣告中的變數列表,而實參是方法呼叫時實際傳遞的值。呼叫方法時,所使用的實參與宣告中形參的型別
java學習筆記(十四)冒泡與選擇排序
冒泡與選擇排序 一.氣泡排序BubbleSort 氣泡排序是一種比較經典的排序演算法,在很多時候都能夠用到,氣泡排序的原理是相鄰的兩個元素進行比較,小的放前面,大的放後面 我們可以看一下排序的過程 ps:圖片比較小大家點開看大圖 java原始
SpringMVC(十四)類型轉換器
har public property springmvc gpo source 表達 resolv obj 為什麽頁面上輸入‘12’,可以復制給Handler方法對應的參數? 和是因為類型轉換器並不是可以將用戶提交的String,轉換為用戶需要的所有類型,此時,就需要自定
2)類與物件
二、物件與類 物件(objects): 物件是類的一個例項,有狀態和行為。例如,一條狗是一個物件,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。 類(class): 類是一個模板,它描述一類物件的行為和狀態。 public class Dog{ St
JAVA基礎第三章-類與物件、抽象類、介面 JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性:封裝、繼承、多型
業內經常說的一句話是不要重複造輪子,但是有時候,只有自己造一個輪子了,才會深刻明白什麼樣的輪子適合山路,什麼樣的輪子適合平地! 我將會持續更新java基礎知識,歡迎關注。 往期章節: JAVA基礎第一章-初識java JAVA基礎第二章-java三大特
JAVA基礎第三章-類與物件、抽象類、介面
前言 標題沒有看錯,真的是讓我寫個 bug! 剛接到這個需求時我內心沒有絲毫波瀾,甚至還有點激動。這可是我特長啊;終於可以光明正大的寫 bug 了
(十七)類與類之間的關係
⼀. 類與類之間的依賴關係 ⼤千世界, 萬物之間皆有規則和規律。我們的類和物件是對⼤千世界中的所有事物進⾏歸類, 那事物之間存在著相對應的關係。 類與類之間也同樣如此,在⾯向物件的世界中 類與類中存在以下關係: &n
java入門【八】類與物件
類 共性的一個集合 物件 某一個性的產物 物件也是類的一個例項 class組成 Field (成員,變數 ,屬性)變數的集合用來描述類 Method(方法)由物件呼叫 定義物件 宣告並例項化物件 類名稱 物件名稱 =