欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 內(nèi)部類和匿名類

Java是一種面向?qū)ο蟮木幊陶Z(yǔ)言,內(nèi)部類和匿名類是其獨(dú)特的特點(diǎn)之一。

內(nèi)部類是定義在另一個(gè)類中的類。它可以訪問(wèn)外部類的所有數(shù)據(jù)和方法,包括私有成員。內(nèi)部類分為成員內(nèi)部類、局部?jī)?nèi)部類和匿名內(nèi)部類。

//成員內(nèi)部類
public class OuterClass{
private int num;
public class InnerClass{
public void print(){
System.out.println("num = " + num);
}
}
}
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();
inner.print(); //num = 0(默認(rèn)初始化值)
//局部?jī)?nèi)部類
public class OuterClass{
public void print(){
class InnerClass{
public void innerPrint(){
System.out.println("InnerClass");
}
}
InnerClass inner = new InnerClass();
inner.innerPrint(); //InnerClass
}
}
OuterClass outer = new OuterClass();
outer.print();

匿名類是一種沒(méi)有類名的內(nèi)部類。它通常用于創(chuàng)建只有一個(gè)實(shí)例的類。匿名類可以實(shí)現(xiàn)接口、繼承類以及在方法中定義。

//實(shí)現(xiàn)接口
public interface Message{
void printMessage();
}
Message msg = new Message(){
public void printMessage(){
System.out.println("This is the message.");
}
};
msg.printMessage(); //This is the message.
//繼承類
public class A{
public void print(){
System.out.println("A");
}
}
A a = new A(){
public void print(){
System.out.println("B");
}
};
a.print(); //B
//方法中定義(Java 8及以前版本)
public void print(){
Thread t = new Thread(new Runnable(){
public void run(){
System.out.println("Thread");
}
});
t.start();
}
print(); //Thread

以上是關(guān)于Java內(nèi)部類和匿名類的一些基本介紹,它們可以使代碼更加簡(jiǎn)潔和靈活。