北大青鸟(上海青慧培训中心
首页 | 中心简介 | 新闻动态 | 课程详解 | 师资力量 | 招生问答 | 就业广场 | 在线报名 | 学员天地 | 中心风采 | 人才测评 | 青鸟天空
学习论坛 · 资料索取
新闻动态
行 业 新 闻
中 心 新 闻
就 业 新 闻
青 鸟 新 闻
相关新闻
热门新闻
 
您的位置:首页 --> 新闻动态 -->  技术文章
Java入门:深入理解嵌套类和内部类
时间:2008/11/20作者/转载自:IT网论坛
 

 

   可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它有两种类型:静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner)。

一、什么是嵌套类及内部类?

  可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它有两种类型:

  静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为

  内部类(inner)。嵌套类从JDK1.1开始引入。其中inner类又可分为三种:

  其一、在一个类(外部类)中直接定义的内部类;

  其二、在一个方法(外部类的方法)中定义的内部类;

  其三、匿名内部类。

  下面,我将说明这几种嵌套类的使用及注意事项。

  二、静态嵌套类

  如下所示代码为定义一个静态嵌套类,

  

  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两个IO基础类的理解
下一篇:Linux操作系统下C语言编程的注意事项
招聘信息 | 关于我们 | 加入我们 | 联系我们 | 网站导航
总部/教学基地:上海徐家汇乐山路33号交大慧谷软件园2号楼2楼(徐家汇交大校区)
电话:400-882-3939 传真:021-64472945 网站备案许可证号:沪ICP备05034548号
版权所有 2007-2008 北大青鸟APTECH(上海青慧)授权培训中心