內部類 匿名內部類

2021-09-02 04:26:48 字數 1748 閱讀 7327

package org.lgy.study.innerclass;

public class anonymoustest

public static void main(string args)

public string getname()

public double getprice()

}); }}

inte***ce product

package org.lgy.study.innerclass;

public class anonymoustest

//匿名內部類中可以定義非靜態成員(包括成員變數和成員方法)

private string name;

private double price;

/*匿名內部類中不能定義靜態成員(包括成員變數和成員方法),但可以定義靜態常量

private static string str = "";

public static void method(){}

*///匿名內部類中可以定義靜態常量

private static final string str = "123";

public string getname()

public double getprice()

//匿名內部類中可以定義自己的方法

public product method()

}.method();

system.out.println(p.getname());

system.out.println(p.getprice()); }

/* 情況2:匿名內部類位於靜態方法內

如果匿名內部類位於靜態成員方法內,當呼叫匿名內部類所在的方法時可能並沒有建立外部類,

所以在匿名內部類中只能訪問靜態成員,不能訪問非靜態成員

*/ public static void method2()

//匿名內部類中可以定義非靜態成員(包括成員變數和成員方法)

private string name;

private double price;

/*匿名內部類中不能定義靜態成員(包括成員變數和成員方法),但可以定義靜態常量

private static string str = "";

public static void method(){}

*///匿名內部類中可以定義靜態常量

private static final string str = "123";

public string getname()

public double getprice()

//匿名內部類中可以定義自己的方法

public product method()

}.method();

system.out.println(p.getname());

system.out.println(p.getprice()); }

public void method3()

public static void method4()

public static void main(string args) }

inte***ce product

/*結果:

!!!@@@

***---

cpu500.0

@@@---

cpu500.0

*/

內部類,匿名內部類

內部類 概念 自己想到的 內部類是一種可以直接訪問外部類的一類事物 內部類訪問外部類中的成員,包括私有。之所以可以訪問外部類的成員,是因為內部類持有了外部類的乙個引用,格式為 outer.this.x 外部類訪問內部類成員,需要宣告內部類的物件。其他類訪問內部類方法 當內部類處在成員變數的位置時,就...

內部類 匿名內部類

把類定義在其他類的內部,這個類就叫內部類。內部類分為 成員內部類 區域性內部類。內部類訪問特點 內部類可以直接訪問外部類的成員,包括私有。外部類訪問內部類的成員,必須建立物件。區域性內部類是定義在乙個方法或者乙個作用域裡面的類。public class outer 在區域性位置建立內部類物件,調內部...

內部類 匿名內部類

在乙個類中書寫另乙個類 同級類 嚴格意義上來講只是一種書寫形式不是內部類 成員內部類 全域性內部類 區域性內部類 包含匿名內部類 在當前類同級下繼續書寫其他類,書寫語法與普通類相同,但修飾符只能使用預設 在使用時與普通類一致,只是訪問範圍只有本包下,將相當於少建立了乙個檔案 員工類 public a...