1. 程式人生 > >Java內部類總結

Java內部類總結

interface Service {
 
void method1();
 
void method2();
}

interface ServiceFactory {
    Service getService();
}

class Implementation1 implements Service {
 
private Implementation1() {}
 
public void method1() {System.out.println("Implementation1 method1");}
 
public void method2() {System.out.println(
"Implementation1 method2");}
 
public static ServiceFactory factory = new ServiceFactory() {
 
public Service getService() {
 
return new Implementation1();
            }
        };
}

class Implementation2 implements Service {
 
private Implementation2() {}
 
public void method1() {System.out.println(
"Implementation2 method1");}
 
public void method2() {System.out.println("Implementation2 method2");}
 
public static ServiceFactory factory = new ServiceFactory() {
 
public Service getService() {
 
return new Implementation2();
            }
        };
}

public class Factories {
 
public static void serviceConsumer(ServiceFactory fact) {
        Service s = fact.getService();
        s.method1();
        s.method2();
    }
 
public static void main(String[] args) {
        serviceConsumer(Implementation1.factory);
        serviceConsumer(Implementation2.factory);
    }
}

相關推薦

JAVA部類總結筆記

 內部類分為四類:成員內部類、區域性(作用域)內部類、匿名內部類、靜態內部類。 內部類大比拼 成員內部類 區域性(作用域)內部類 匿名內部類 靜態內部類 訪問修飾符 有 無 無 有 成員內部類  就像一個成員變數

java部類總結 問題:部類、靜態部類區別、使用場景?

問題:內部類、靜態內部類區別、使用場景?1.靜態內部類可以有靜態成員(方法,屬性),而非靜態內部類則不能有靜態成員(方法,屬性)。2.靜態內部類只能夠訪問外部類的靜態成員,而非靜態內部類則可以訪問外部類的所有成員(方法,屬性)。3.例項化方式不同:(1)例項化成員內部類“”通

Java部類總結

interface Service {  void method1();  void method2(); } interface ServiceFactory {     Service getService(); } class Implementation1 impleme

12、java部類總結

line 不想 inner 訪問修飾符 總結 靜態內部類 nbsp 格式 str 1、成員內部類   可以直接訪問外部類所有成員 分類:   1) 靜態內部類   2) 非靜態內部類     普通內部類:Outer.Inner oi=new Outer()

java中的匿名部類總結

但是 star per 處的 書寫 括號 art log num 匿名內部類也就是沒有名字的內部類 正因為沒有名字,所以匿名內部類只能使用一次,它通常用來簡化代碼編寫 但使用匿名內部類還有個前提條件:必須繼承一個父類或實現一個接口 實例1:不使用匿名內部類來實現抽象方法

java基礎學習總結(十二):深入理解java部類

內部類 內部類也是語法糖,是因為它僅僅是一個編譯時的概念,outer.java裡面定義了一個內部類inner,一旦編譯成功,就會生成兩個完全不同的.class檔案了,分別是outer.class和outer$inner.class。所以內部類的名字完全可以和它的外部類名字相同。 內部類分為四

java 中的部類總結

內部類不是很好理解,但說白了其實也就是一個類中還包含著另外一個類。 如同一個人是由大腦、肢體、器官等身體結果組成,而內部類相當於其中的某個器官之一,例如心臟:它也有自己的屬性和行為(血液、跳動)。 顯然,此處不能單方面用屬性或者方法表示一個心臟,而需要一個類。 而心臟又在人體當

java中匿名部類總結

匿名內部類也就是沒有名字的內部類 正因為沒有名字,所以匿名內部類只能使用一次,它通常用來簡化程式碼編寫 但使用匿名內部類還有個前提條件:必須繼承一個父類或實現一個介面 例項1:不使用匿名內部類來實現抽象方法 abstract class Person { public a

java中的部類總結

內部類不是很好理解,但說白了其實也就是一個類中還包含著另外一個類 如同一個人是由大腦、肢體、器官等身體結果組成,而內部類相當於其中的某個器官之一,例如心臟:它也有自己的屬性和行為(血液、跳動) 顯然,此處不能單方面用屬性或者方法表示一個心臟,而需要一個類

Java 訪問許可權 部類總結

    在Java中,可以將一個類定義在另一個類裡面或者一個方法裡邊,這樣的類稱為內部類,廣泛意義上的內部類一般包括四種:成員內部類,區域性內部類,匿名內部類,靜態內部類 。 1.成員內部類     (1)該類像是外部類的一個成員,可以無條件的訪問外部類的所有成員屬性和成

Java部類例項測試及總結

 這裡沒有講解理論是怎麼樣的,我用例項說明,個人覺得比理論更來得實際,並寫下了測試的總結。 /** *內部類測試 *@authorhttp://blog.csdn.net/fenglibing *總結: *1、可以通過外部類的方法呼叫成員內部類、靜態內部類 *2、內部成員類

java部類的可見性總結java部類的建立

          定義: 將一個類的定義放在另一個類定義的內部,這就是內部類.1.功能1: 程式碼的隱藏和組織機制.內部類的可見性: 由在定義內部類時的訪問控制權限決定(前提是外圍類是public的)public : 在任何其他類中都可見,前提是要用"外部類名.內部類名"

Java部類使用總結

一、內部類的定義和作用 將一個類定義在另一個類裡面或者方法裡面的類成為內部類。 作用和優點:每個內部類都能獨立的繼承一個介面的實現,所以無論外部類是否繼承了某個介面的實現,對於內部類都沒有影響。內部類使得多繼承的解決方案變得完整。彌補了單繼承的缺點 二

java部類面試總結

本文轉自牛客網上 BlueFish 總結的Java內部類的筆記,我覺得很詳細,在此轉發進行記錄。 有問題大家可以到牛客網進行討論: 1.為什麼使用內部類? 使用內部類最吸引人的原因是:每個內部類都能獨立地繼承一個(介面的)實現,所以無論外圍類是否已經繼承了某個(介面的)實現,對於內部

Java部類學習總結

目錄 概述 最近學習python,發現python是支援多繼承的,這讓我想起Java是通過內部類實現的這套機制。這篇文章不是講如何通過內部類實現多繼承,而是總結一下內部類的型別和使用方法。 Java內部類分為: 非靜態內部類 靜態內部類

java中抽象類,介面,多型,匿名部類總結串講

首先來談抽象類. 1.抽象類定義形式: public(常用許可權為public)abstract class A{ } 包含抽象方法的類,必須用abstract修飾,所以,包含抽象方法的類肯定是抽象類; 抽象類&抽象方法的使用: 抽象類無

java部類和外部類相關訪問總結

內部類的作用: 內部類可以很好的實現功能隱藏,可以新增private、protected等許可權控制 可以避免修改介面而實現同一

Java部類超詳細總結(含程式碼示例)

什麼是內部類 什麼是內部類? 顧名思義,就是將一個類的定義放在另一個類的內部。 概念很清楚,感覺很簡單,其實關鍵在於這個內部類放置的位置,可以是一個類的作用域範圍、一個方法的或是一個程式碼塊的作用域範圍。 所以理解了概念只是第一步,掌握細節才能徹底搞定Java的內部類特性。 看例子,這是最普通的內部類: pu

Java部類引用外部類中的局部變量為何必須是final問題解析

lib soft 編譯器 art http word tail ace 軟件 今天編寫一個多線程程序,發現在方法內定義內部類時,如果內部類調用了方法中的變量,那麽該變量必須申明為final類型,百思不得其解,後來想到應該是生命周期的原因,因為方法內定義的變量是局部變量,

Java部類之匿名部類

urn nat 看到了 math 通過 rri 內部 test mat ??我們都知道Java中可以使用內部類,將一個類的定義放在另一個類的定義的內部,這就是內部類,但是匿名內部類往往使我們摸不著頭腦,因為它並沒有特定的名稱,那麽該如何使用它呢? 定義一個匿名內部類 pu