1. 程式人生 > >Java面向物件加強---程式執行的順序

Java面向物件加強---程式執行的順序

知識點:

        1)、構造一個類物件,必須先構造它的父類物件。

        2)、初始化一個類必須先初始化它的屬性。

        即:一個類先執行它的構造方法,構造方法方法之前需要執行super(),然後是成員變數,最後是建構函式內部的語句。

下面是一個例子:

public class Test {
	private String name="jack";//順序4:執行成員變數
	private int age=20;//順序5:
	public Test(){//順序3:在呼叫建構函式之前先要呼叫super();
		//super();對super的呼叫必須是在建構函式的第一個語句
		age=1000;//順序6:在執行成員變數之後就執行建構函式內部語句
	}
	public static void main(String[] args) {//順序1:main函式是一個程式的入口
		Test t=new Test();//順序2:new物件呼叫建構函式
		System.out.println(t.name+","+t.age);//順序7:結果為jack,1000
	}
}

程式的執行順序:先靜態(先父類再子類),再非靜態(先父類再子類)

                            整個程式的執行過程中,靜態塊只執行一次,而且內膜版物件只有一個(靜態塊通常在連線資料的時起初始化的作用)。

public class Test2 {
	public static void main(String[] args) {
		new A();
	}
	
}
class A extends B{
	{System.out.println("A成員。。。。。。");}
	static{System.out.println("A靜態塊");}
	public A(){
		System.out.println("A的建構函式");
	}
}
class B extends C{
	{System.out.println("B成員。。。。。。");}
	static{System.out.println("B靜態塊");}
	public B(){
		System.out.println("B的建構函式");
	}
}
class C{
	{System.out.println("C成員。。。。。。");}
	static{System.out.println("C靜態塊");}
	public C(){
		System.out.println("C的建構函式");
	}
}

相關推薦

Java面向物件加強---程式執行順序

知識點:        1)、構造一個類物件,必須先構造它的父類物件。        2)、初始化一個類必須先初始化它的屬性。        即:一個類先執行它的構造方法,構造方法方法之前需要執行super(),然後是成員變數,最後是建構函式內部的語句。下面是一個例子:pub

031_面向物件_04_程式執行過程的記憶體分析_01

一、概念部分   a)屬性(field):也叫成員變數,在類體(類內方法外)的變數部分中定義的變數。     屬性用於定義該類或該類物件包含的資料或者說靜態屬性。屬性的作用範圍是整個類體   b)區域性變數:定義在語句塊/方法裡面的變數。只有該語句塊、方法能使用,並且使用前必須要進行手動初始化。語句塊或

032_面向物件_05_程式執行過程的記憶體分析_02

一、例項程式碼   package edu.aeon.test; /** * [說明]計算機類 * @author aeon */ public class Computer { /**計算機品牌*/ public String brand; /**計算機cpu速度*/

Java面向物件與多執行緒綜合實驗(五)之JDBC

本次程式碼沿用第三次中的User.java Administrator.java Operator.java Browser.java和Doc.java 以及第四次中的LoginWindow.java MenuWindow.java UserWindow.java UpDownloadWin

Java面向物件與多執行緒綜合實驗(四)之GUI設計

瞭解Java圖形介面程式的基本結構;掌握Java佈局管理和常用元件的使用;掌握Java事件處理機制。 實驗內容 編寫程式,將前面課程所編寫的檔案管理系統改編為圖形使用者介面。要求程式介面選用合適的佈局,綜合使用選單、按鈕、文字框、密碼框、下拉列表、檔案對話方塊等元件,實現良好的人機介面。

Java面向物件與多執行緒綜合實驗(三)之輸入輸出流

瞭解Java中I/O流的概念和種類;掌握位元組流處理和字元流處理,包括File類,InputStream/OutputStream及其子類,Reader/Writer及其子類;熟練掌握檔案的順序處理,隨機訪問處理;熟悉物件序列化的概念和方法。 編寫程式,實現檔案管理系統中的檔案上傳/下載模組

Java面向物件與多執行緒綜合實驗(二)之 異常處理

理解異常的基本概念;瞭解Java異常的層次結構;熟悉並掌握Java異常的捕獲處理方法。 (1)閱讀Java™ Platform, Standard Edition 8 API Specification文件,瞭解後續程式設計中將要處理的IOException及其子類FileNotFoundE

Java面向物件與多執行緒綜合實驗(一)之封裝、繼承與多型

編寫一個程式,實現檔案管理系統中的使用者管理模組。要求模組中實現使用者的模擬登入過程。通過使用者輸入,獲取使用者名稱和口令;與事先記錄在程式中的使用者資訊進行對比,通過口令驗證後才能使用系統。使用者分為系統管理人員、檔案錄入人員,檔案瀏覽人員三類,相關類圖如下所示。 (1)要求在使用者類中

Java:類檔案程式執行順序

只要按照這個步驟,遇到這一類問題就可以解決了。 1.類中所有屬性的預設值(一舉而成) 2. 父類靜態屬性初始化,靜態塊,靜態方法的宣告(按出現順序執行) 3. 子類靜態屬性初始化,靜態塊,靜態方法的宣告 (按出現順序執行) 4. 呼叫父類的構造方法, 首先父類的非靜態成員

JAVA面向物件程式(二):俄羅斯方塊s

今天,我們來使用Eclipse製作一個小遊戲《Tetris~》 資源在文末 一、遊戲機制 a)    7種小塊兒隨機生成                i.         一塊放置在頂部(隨時間下降)               ii.         另一塊

深入理解Java程式執行順序

下面將從一道阿里巴巴試題詳細分析Java程式執行順序。 阿里巴巴試題 public class Test { public static int k = 0; public static Test t1 = new Test("t1"); public static Test t

java程式執行順序理解

  public class StaticTest { public static int k = 0; public static StaticTest t1 = new StaticTest("t1"); public static StaticTest t2 =

java中子類繼承父類程式執行順序問題

測試程式碼: package test; public class FatherTest { private String name; public FatherTest(){ System.out.println("--父類的無參建構函式--"); } public

java面向物件程式(利用建構函式,方法,繼承等描述一個人類)

完成一個java application 應用程式,描述一個人類。要求如下: 要求此人類必須包含有人的姓名、性別、出生日期等基本屬性(變數)。 要求此人類描述吃飯的方法(函式)和描述睡覺的方法(函式)。例如睡覺方法的執行體為一個 System.out.pri

利用“Java同包同名類執行順序”取消Java 網站應用程式Licence驗證

如果是在tomcat裡執行,lib目錄下一大堆的JAR包,不同的JAR包裡可能會有相同的包名類名,JRE按照JAR名字的字母順序載入JAR檔案,同名類如果已載入,則後面的同名類會忽略。 公司購買的一款Java web 應用程式 ,當然是有授權碼的,雖然買的全部授權,沒有年限限制,但是是按年授權,包括測試環境

深入瞭解類載入過程及Java程式執行順序

/** * @author chris * @date 2018/10/30 - 15:24 * 類載入執行順序: * 1.靜態屬性,靜態方法宣告,靜態塊。 * * 2.動態屬性,普通方法宣告,構造塊。 * * 3.構造方法。 * * 當new一個物件時,此時會呼叫構造方法,但是在呼叫構造方法之前,(除非被打

黑馬程式設計師——Java面向物件(二)之封裝、繼承、多型、介面等

-----------android培訓、java培訓、java學習型技術部落格、期待與您交流!------------ 五、面向物件的特徵  面向物件主要有三大特徵: 1.特徵一 —— 封裝  1)定義:是指隱藏物件的屬性和實現細節,僅對外提供公共訪問方式。 2)好處:

黑馬程式設計師——Java面向物件(一)之匿名物件、程式碼塊、static關鍵字等

   a)子類只繼承父類的預設(預設)建構函式,即無形參建構函式。如果父類沒有預設建構函式,那子類不能從父類繼承預設建構函式。    b)子類從父類處繼承來的父類預設建構函式,不能成為子類的預設建構函式。    c)在建立物件時,先呼叫父類預設建構函式對物件進行初始化,然後呼叫子類自身自己定義的建構函

黑馬程式設計師——Java面向物件(三)之內部類、異常、包等

-----------android培訓、java培訓、java學習型技術部落格、期待與您交流!------------ 六、物件的其他重要內容 1.單例設計模式  1)什麼是單例設計模式?   單例設計模式是指能夠確保一個類只有一個例項,並且能夠自行向整個系統提供這個例項

黑馬程式設計師-java面向物件語法總結

----------------------ASP.Net+Unity開發、.Net培訓、期待與您交流! ----------------------  java是一種面向物件的語言,在java語言的描述下,萬事萬物皆物件。 理解面向物件(OOP): 1,面向物件是相