5.13 内部类

来源:互联网 发布:淘宝宝贝改销量 编辑:程序博客网 时间:2024/06/01 10:25

我们已经知道,在类内部可定义成员变量与方法,有趣的是,在类内部也可以定义另一个类。

如果在类Outer的内部再定义一个类Inner,此时类Inner就称为内部类,而类Outer则称为外部类。

内部类可声明成public或private。当内部类声明成public或private时,对其访问的限制于成员变量和成员方法完全相同。


例:

public class java_ex14 {
public static void main(String[] args){
Outer outer = new Outer();
outer.inst();
}
}
class Outer{
int score = 95;
void inst(){
Inner in = new Inner();
in.display();
}
class Inner{
void display(){
System.out.println("score = " + score);
}
}
}

结果:

score = 95

解析:

内部类Inner可以直接调用外部类Outer中的score属性。

注意:外部类不发找到内部类中所声明的属性。

用static可以声明属性或方法,而用static也可以声明内部类,

用static声明的内部类则变成外部类,但是用static声明的内部类不能访问非static的外部类属性。

内部类也可以通过创建对象从外部类之外被调用,只要将内部类声明为public即可,

例:

public class java_ex15 {
public static void main(String[] args){
Outer15 outer = new Outer15();
outer.inst();
}
}
class Outer15{
int score = 95;
void inst(){
Inner in = new Inner();
in.display();
}
public class Inner{
void display(){
System.out.println("score = " + score);
}
}
}

结果:

score = 95

解析:

用public声明内部类,此内部类可被外部类访问。

0 0
原创粉丝点击