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

java 外部類和內(nèi)部類

謝彥文1年前8瀏覽0評論

Java是一種面向?qū)ο蟮木幊陶Z言,它支持內(nèi)部類和外部類。內(nèi)部類是定義在另一個類中的類,外部類則是獨立的類。下面我們詳細(xì)介紹一下Java的內(nèi)部類和外部類:

1. 內(nèi)部類

public class OuterClass {
int num = 10;
private class InnerClass {
public void print() {
System.out.println("This is an inner class.");
}
}
public void displayInner() {
InnerClass inner = new InnerClass();
inner.print();
}
}
//創(chuàng)建外部類對象
OuterClass out = new OuterClass();
//調(diào)用外部類方法displayInner()
out.displayInner();

上述代碼中,內(nèi)部類InnerClass定義在外部類OuterClass中。在OuterClass的方法displayInner()中,我們創(chuàng)建InnerClass的對象inner并調(diào)用它的方法print()。因為內(nèi)部類可以訪問外部類的成員變量和方法,所以在print()方法中可以訪問num這個成員變量。

2. 外部類

public class OuterClass {
int num = 10;
static class StaticNestedClass {
public void display() {
System.out.println("This is a static nested class.");
}
}
}
//創(chuàng)建靜態(tài)內(nèi)部類對象
OuterClass.StaticNestedClass nested = new OuterClass.StaticNestedClass();
//調(diào)用靜態(tài)內(nèi)部類方法display()
nested.display();

上述代碼中,外部類OuterClass中定義了一個靜態(tài)內(nèi)部類StaticNestedClass,在main()方法中我們創(chuàng)建StaticNestedClass的對象nested并調(diào)用它的方法display()。需要注意的是,因為StaticNestedClass是靜態(tài)的,所以創(chuàng)建它的對象時不需要先創(chuàng)建外部類的對象。

總結(jié):

內(nèi)部類和外部類都可以用來組織和封裝代碼,但它們的作用和用法不同。內(nèi)部類可以訪問外部類的成員和方法,而外部類不能訪問內(nèi)部類的成員和方法。外部類可以調(diào)用內(nèi)部類中的方法,但需要先創(chuàng)建內(nèi)部類的對象。內(nèi)部類有四種類型:成員內(nèi)部類、局部內(nèi)部類、匿名內(nèi)部類和靜態(tài)內(nèi)部類。其中,靜態(tài)內(nèi)部類是最特殊的一種,因為它可以像外部類一樣被訪問和調(diào)用。