[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: IT专家网 > Web服务子站 > Java技术

Java入门:深入理解嵌套类和内部类

作者: 一町,  出处:IT专家网论坛, 责任编辑: 包春林, 
2008-11-20 04:00
  可以在一个类的内部定义另一个类,这种类称为嵌套类(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();

  }

  }

共4页。 1 2 3 4 下一页 末页
  • 本文关键词:

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

邮件订阅