• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 分享內部類的整理和測試代碼

    發表于:2008-07-21來源:作者:點擊數: 標簽:代碼部類分享
    Java code package test.jdk; /** * 內部類的收集與整理 * * @author 趙學慶 www. java 2000.net */ public class InnerTest { private String instAtt = "實例變量"; private static String staticAtt = "靜態變量"; public void test() { int methodAtt =
    Java code package test.jdk;

    /**
    * 內部類的收集與整理
    *
    * @author 趙學慶 www.java2000.net
    */
    public class InnerTest {
    private String instAtt = "實例變量";

    private static String staticAtt = "靜態變量";

    public void test() {
    int methodAtt = 1;
    final int methodFinalAtt = 2;
    // 非靜態方法里的內部類
    class staticMethodInnerClass {
    @Override
    public String toString() {
    // 非靜態方法里無法訪問實例的外部變量
    System.out.println("非靜態方法的內部類可以訪問外部類的實例變量:" + instAtt);
    System.out.println("非靜態方法的內部類可以訪問外部類的靜態變量:" + staticAtt);
    // 非靜態方法里無法訪問方法的非final的變量
    // System.out.println(methodAtt);
    System.out.println("非靜態方法的內部類可以訪問方法的final變量:" + methodFinalAtt);
    return "my nickname is white";
    }
    }
    new staticMethodInnerClass().toString();
    new Object() {
    @Override
    public String toString() {
    System.out.println("非靜態方法的匿名內部類可以訪問外部類的實例變量:" + instAtt);
    System.out.println("非靜態方法的匿名內部類可以訪問外部類的靜態變量:" + staticAtt);
    // 靜態方法里匿名內部類無法訪問方法的非final的變量
    // System.out.println(methodAtt);
    System.out.println("非靜態方法的匿名內部類可以訪問方法的final變量:" + methodFinalAtt);
    return "我是匿名內部類";
    }
    }.toString();
    }

    public static void main(String blackbat[]) {
    int methodAtt = 1;
    final int methodFinalAtt = 2;
    // 靜態方法里的內部類
    class staticMethodInnerClass {
    @Override
    public String toString() {
    // 靜態方法里無法訪問實例的外部變量
    // System.out.println(instAtt);
    System.out.println("靜態方法的內部類可以訪問外部類的靜態變量:" + staticAtt);
    // 靜態方法里無法訪問方法的非final的變量
    // System.out.println(methodAtt);
    System.out.println("靜態方法的內部類可以訪問方法的final變量:" + methodFinalAtt);
    return "my nickname is white";
    }
    }
    new staticMethodInnerClass().toString();
    new Object() {
    @Override
    public String toString() {
    // 靜態方法的匿名內部類不能訪問外部類的非靜態變量
    // System.out.println("非靜態方法的匿名內部類可以訪問外部類的非靜態變量:" + instAtt);
    System.out.println("非靜態方法的匿名內部類可以訪問外部類的靜態變量:" + staticAtt);
    // 靜態方法里匿名內部類無法訪問方法的非final的變量
    // System.out.println(methodAtt);
    System.out.println("非靜態方法的匿名內部類可以訪問方法的final變量:" + methodFinalAtt);
    return "我是匿名內部類";
    }
    }.toString();
    new InnerTest().test();
    // 建立靜態內部類(static Inner Class)的對象
    ImOutClass.StaticInnerClass staticIC = new ImOutClass.StaticInnerClass();
    staticIC.aclearcase/" target="_blank" >ccess();
    /*
    * 建立非靜態內部類(non-static Inner Class)的對象. <br>注意這種建立對象的格式 首先創建外部類的對象 然后使用對象.new 來創建。
    */
    ImOutClass outC = new ImOutClass();
    ImOutClass.InstInnerClass inC = outC.new InstInnerClass();
    inC.access();
    }
    }

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>