深化理解Java嵌套类和内部类[Java编程]
本文“深化理解Java嵌套类和内部类[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、什么是嵌套类及内部类?
可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它 有两种范例:
静态嵌套类和非静态嵌套类.静态嵌套类利用很少,最重要的是非静态嵌套 类,也便是被称作为内部类(inner).嵌套类从JDK1.1开始引入.此中inner类又 可分为三种:
其1、在一个类(外部类)中直接定义的内部类;
其2、在一个办法(外部类的办法)中定义的内部类;
其3、匿名内部类.
下面,我将阐明这几种嵌套类的利用及注意事项.
2、静态嵌套类
以下所示代码为定义一个静态嵌套类,
public class StaticTest {
private static String name = "javaJohn";
private String id = "X001";
static class Person{
private String address = "swjtu,chenDu,China";
public String mail = "josserchai@yahoo.com";//内部类公有成员
public void display(){
//System.out.println(id);//不能直接拜候外部类的非静态成员
System.out.println(name);//只能直接拜候外部类的静态成员
System.out.println("Inner "+address);//拜候本内部类成员.
}
}
public void printInfo(){
Person person = new Person();
person.display();
//System.out.println(mail);//不可拜候
//System.out.println(address);//不可拜候
System.out.println(person.address);//可以拜候内部类的私有成员
System.out.println(person.mail);//可以拜候内部类的公有成员
}
public static void main(String[] args) {
StaticTest staticTest = new StaticTest();
staticTest.printInfo();
}
}
在静态嵌套类内部,不能拜候外部类的非静态成员,这是由Java语法中"静态 办法不能直接拜候非静态成员"所限定.
若想拜候外部类的变量,必须通过别的办法办理,由于这个缘由,静态嵌套 类利用很少.注意,外部类拜候内部类的的成员有些分外,不能直接拜候,但可 以通过内部类来拜候,这是因为静态嵌套内的全部成员和办法默许为静态的了. 同时注意,内部静态类Person只在类StaticTest 范围内可见,若在别的类中引 用或初始化,均是错误的.
以上是“深化理解Java嵌套类和内部类[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |