设为首页 加入收藏

TOP

2011年计算机二级考试JAVA知识点整理(31)
2014-10-31 23:45:14 来源: 作者: 【 】 浏览:53
Tags:2011年 计算机 二级 考试 JAVA 知识点 整理

  1.2.3 在外部类中定义内部类


  如下所示代码为在外部类中定义两个内部类及它们的调用关系:


  public class Outer{


  int outer_x = 100;


  class Inner{


  public int y = 10;


  private int z = 9;


  int m = 5;


  public void display(){


  System.out.println("display outer_x:"+ outer_x);


  }


  private void display2(){


  System.out.println("display outer_x:"+ outer_x);


  }


  }


  void test(){


  Inner inner = new Inner();


  inner.display();


  inner.display2();


  //System.out.println("Inner y:" + y);//不能访问内部内变量


  System.out.println("Inner y:" + inner.y);//可以访问


  System.out.println("Inner z:" + inner.z);//可以访问


  System.out.println("Inner m:" + inner.m);//可以访问


  InnerTwo innerTwo = new InnerTwo();


  innerTwo.show();


  }


  class InnerTwo{


  Inner innerx = new Inner();


  public void show(){


  //System.out.println(y);//不可访问Innter的y成员


  //System.out.println(Inner.y);//不可直接访问Inner的任何成员和方法


  innerx.display();//可以访问


  innerx.display2();//可以访问


  System.out.println(innerx.y);//可以访问


  System.out.println(innerx.z);//可以访问


  System.out.println(innerx.m);//可以访问


  }


  }


  public static void main(String args[]){


  Outer outer = new Outer();


  outer.test();


  }


  }


  以上代码需要说明有,对于内部类,通常在定义类的class关键字前不加public 或 private等限制符,若加了没有任何影响,同时好像这些限定符对内部类的变量和方法也没有影响( )。另外,就是要注意,内部类Inner及InnterTwo只在类Outer的作用域内是可知的,如果类Outer外的任何代码尝试初始化类Inner或使用它,编译就不会通过。同时,内部类的变量成员只在内部内内部可见,若外部类或同层次的内部类需要访问,需采用示例程序中的方法,不可直接访问内部类的变量。


  编辑推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2011年计算机二级考试JAVA知识点.. 下一篇2011年计算机二级考试JAVA知识点..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: