java 構造方法、static關鍵字、靜態變數、main方法
一、構造方法
構造方法是一個與類同名的方法,物件的成績就是通過構造方法完成的。每當類例項化一個物件時,類都會自動呼叫構造方法。
構造方法的特點如下:
(1)構造方法沒有返回值,也不能定義為void。
(2)構造方法的名稱要與本類的名稱相同。
(3)構造方法的主要作用是完成物件的初始化工作,它能把定義物件的引數傳給物件成員。
構造方法的定義語法如下:
class Book{
// public 構造方法修飾符
// Book 構造方法的名稱
public Book() { //構造方法
}
}
有引數構造方法的語法如下:
class Book{
// args 構造方法的引數,可以是多個引數
public Book(int args) { //構造方法
// 對成員變數機選初始化
}
}
函式的過載 :
// 引數不同(引數順序 引數個數 引數型別)
// 切記 引數的名字不同 不是函式的過載
// 構造方法也符合 函式的過載
二、static關鍵字
由 static 修飾的變數、常量和方法稱作靜態變數、靜態常量和靜態方法,也被稱為靜態成員。靜態成員是屬於類所有的,區別於個別物件。
1.靜態變數
在java程式中,把共享的變數用static修飾,該變數就是靜態變數。
(1)、語法如下:
① 類名:靜態類成員
② 常見錯誤:
同一個類的不同例項物件,共用同一靜態變數,如果一個類將其更變,另一個類靜態變數就會更變。
③ 當類首次被載入時,靜態變數就被分配到記憶體中,直到程式結束才會被釋放。
靜態變數與成員變數的區別:
1.所屬不同
成員變數: 屬於物件的 又叫物件變數(例項變數)
靜態變數: 屬於類的 又叫類變數
2.記憶體中的儲存位置不同
成員變數:儲存在堆記憶體
靜態變數:儲存在方法區的靜態區
3.記載到記憶體中的時機不同(生命週期不同)
成員變數:隨著物件的建立而建立
靜態變數:隨著類的載入而存在
4.呼叫方法不同
成員變數:只能使用物件去呼叫
靜態變數:可以用物件去呼叫 但是一般用類名去呼叫
public class Demo04 {
public static void main(String[] args) {
hero g1 = new hero();
g1.name = "岳飛";
hero.dynasty = "宋";
g1.sayHi();
hero g2 = new hero();
g2.name = "霍去病";
hero.dynasty = "漢";
g2.sayHi();
}
}
class hero{
String name; // 姓名
static String dynasty;// 朝代
public void sayHi(){
System.out.println(name + "--" + dynasty);
}
}
三、main方法
在java中,main方法作為java應用程式的介面,寫法基本是固定的,例如:
public static void main(string args[])
唯一可以修改的是main 方法中的傳遞字元陣列的名稱,可以不用 args 的名稱。還有,宣告陣列時方括號也可以緊跟型別。
main方法還可以寫成:
public static void main(string[] yourName)
上述寫法都可以看到:
(1)main方法必須定義成public,即公有的;
(2)main方法必須定義成static,即靜態方法;
(3)main方法的返回型別固定為void;
(4)main方法接收一個字串陣列作為引數。
相關推薦
static變數、static函式與普通變數、普通函式的區別
C程式一直由下列部分組成: 1)正文段——CPU執行的機器指令部分;一個程式只有一個副本;只讀,防止程式由於意外事故而修改自身指令; 2)初始化資料段(資料段)——在程式中所有賦了初值的全域性變數,存放在這裡。 3)非初始化資料段(bss段)——在程式中沒有初始化的全域性變數;核
C語言:static變數、static函式與普通變數、普通函式的區別
static變數、static函式與普通變數、普通函式的區別 全域性變數(外部變數)的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式, 靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別雖在於非靜
java第七天---面向物件、構造方法、static關鍵字、靜態變數與成員變數的區別
1 構造方法 1 構造方法的作用 建立物件,給物件中的成員進行初始化 2 構造方法的格式特點 a:方法名與類名相同 b:沒有返回值型別,連v
java 構造方法、static關鍵字、靜態變數、main方法
一、構造方法 構造方法是一個與類同名的方法,物件的成績就是通過構造方法完成的。每當類例項化一個物件時,類都會自動呼叫構造方法。 構造方法的特點如下: (1)構造方法沒有返回值,也不能定義為void。 (2)構造方法的名稱要與本類的名稱相同。 (3)構造
Java 007 面向物件(構造方法、static關鍵字、JDK幫助文件、Math類)
知識點梳理 心得體會 小知識點 1.不同型別的靜態變數 1>靜態變數是基本資料型別時,類的外部不用建立該類例項可以能直接使用 2>靜態變數是引用時,即靜態變數是一個物件的引用,必須先初始化這個物件,才能將引用指向靜態變數 2.靜態成員與例項成員 1&
Java學習筆記02--成員變數和區域性變數、建構函式、構造程式碼塊、this關鍵字、static關鍵字、靜態函式
成員變數和區域性變數 自定義的位置區別: 成員變數是定義在方法之外,類之內的變數。 區域性變數是宣告在方法之內的變數。 作用上的區別: 成員變數的作用描述一類事物的屬性。 區域性變數的作用是提供一個變數給方法內部使用的。 生命週期的區別;
java中靜態程式碼塊、靜態方法、static關鍵字詳解
最近在準備面試,複習java基礎知識,對java中和static關鍵字相關的靜態方法、靜態程式碼塊、非靜態程式碼塊、靜態成員變數的用法進行了詳細的總結。 1. 靜態成員變數 宣告為static關鍵詞修飾的變數叫做靜態成員變數,也叫作全域性變數。被static修飾的成員變數和
Java基礎篇——靜態程式碼塊、靜態方法、靜態變數、構造方法、構造程式碼段相關
基本定義 靜態程式碼段 在Java類的設計中,如果某段程式碼想讓其只執行一次,比如一個HashMap的生成,一個數據庫連線池的產生,就可以把相關程式碼寫入static{}包裹的程式碼段中。這個程式碼段就叫靜態程式碼段,在專案啟動時就主動執行,即由虛擬機器內部完成呼叫,且只執
Java的知識點10——static關鍵字、靜態初始化塊、 引數傳值機制、包、匯入類import、 靜態匯入
static 關鍵字 在類中,用static宣告的成員變數為靜態成員變數,也稱為類變數。 類變數的生命週期和類相同,在整個應用程式執行期間都有效。它有如下特點: 1. 為該類的公用變數,屬於類,被該類的所有例項共享,在類被載入時被顯式初始化。 2. 對於該類的所
JAVA父類子類靜態程式碼塊、靜態變數、構造方法的執行順序
1、第一個檔案Print.java public class Print { public Print(String s){ System.out.print(s + " "); }} 2、第二個檔案Test1.java public
java中的static使用--靜態變數、靜態方法
Java 中的 static 使用之靜態變數 大家都知道,我們可以基於一個類建立多個該類的物件,每個物件都擁有自己的成員,互相獨立。然而在某些時候,我們更希望該類所有的物件共享同一個成員。此時就是 static 大顯身手的時候了!! Java 中被 static 修飾的成
Java基礎15-final、static關鍵字和Object類
不同 擁有 bsp 指數 col main hashcode 技術分享 fin 一、final關鍵字 1.什麽是final關鍵字 繼承的出現提高了代碼的復用性,並方便開發。但隨之也有問題,有些類在描述完之後,不想被繼承,或者有些類中的部分方法功能是固定的,不想讓子類重寫。可
對象創建、static關鍵字、靜態變量和成員變量的區別、文檔
所有 賦值 隨著 存儲 如何使用 我們 靜態 輸入 進行 1.對象創建 ??Student s = new Student();??步驟:????(1)加載Student。class文件進內存;????(2)在棧內存中為s開辟空間;????(3)在堆內存為學生對象開辟空間;
Java中this、static關鍵字的記憶體圖解
Java中的關鍵字有很多,abstract default goto* null switch boolean do if package nchronzed break&nb
Java中this、static關鍵字的內存圖解
數據區 prot 屬性 volatile stat strong 發展 char ons Java中的關鍵字有很多,abstract default goto* null switch boolean do if package nchronzed
16 Java基礎筆記-final、static關鍵字
關鍵字 一,final關鍵字 1,final概念 某些的類或者是類中部分的方法不想讓子類繼承重寫,使用關鍵字final修飾的物件不可被繼承,表示最終,不可變。可以用來修飾類,類成員,成員變數,區域性變數等。 2,final特點 1,final修飾類不可以被繼承,但可以繼承
Java final、static 關鍵字基礎面試題
問:談談 Java 中 final、finally、finalize 的區別? 答:這道題其實沒有任何意義,無非就是考察開發者有沒有區分這幾個關鍵字的含義,僅僅關聯是因為長得像而已。 final 是一個修飾符,如果一個類被宣告為 final 則其不能再派生出新的子類,所以一個類不能既被宣告為
Java final、static 關鍵字
nbsp fin 嵌套 可變 運行時 空指針 含義 相關 public 問:談談 Java 中 final、finally、finalize 的區別? 答:這道題其實沒有任何意義,無非就是考察開發者有沒有區分這幾個關鍵字的含義,僅僅關聯是因為長得像而已。 final
java學習之super、final、static關鍵字及匿名物件
一 super關鍵字 1 在建立子類物件時,父類的構造方法會先執行,因為子類中所有構造方法的第一行有預設的隱式super();語句。 2如果子類的構造方法第一行寫了this呼叫了本類其他構造方法,那麼super呼叫父類的語句就沒有了。 只要是構造方法預設第一行都是super(
Java中this關鍵字、static關鍵字、final關鍵字、instanceof關鍵字用法詳解
1、this關鍵字 this關鍵字代表是物件的引用。也就是this在指向一個物件,所指向的物件就是呼叫該函式的物件引用。實際工作中,存在著建構函式之間的相互呼叫,但是建構函式不是普通的成員函式,不能通過函式名自己接呼叫所以sun公司提供this關鍵字。