设为首页 加入收藏

TOP

2011年计算机二级考试JAVA知识点整理(32)
2014-11-01 08:30:07 】 浏览:224
Tags:2011年 计算机 二级 考试 JAVA 知识点 整理

  1.2.4 在方法中定义内部类


  如下所示代码为在方法内部定义一个内部类:


  public class FunOuter {


  int out_x = 100;


  public void test(){


  class Inner{


  String x = "x";


  void display(){


  System.out.println(out_x);


  }


  }


  Inner inner = new Inner();


  inner.display();


  }


  public void showStr(String str){


  //public String str1 = "test Inner";//不可定义,只允许final修饰


  //static String str4 = "static Str";//不可定义,只允许final修饰


  String str2 = "test Inner";


  final String str3 = "final Str";


  class InnerTwo{


  public void testPrint(){


  System.out.println(out_x);//可直接访问外部类的变量


  //System.out.println(str);//不可访问本方法内部的非final变量


  //System.out.println(str2);//不可访问本方法内部的非final变量


  System.out.println(str3);//只可访问本方法的final型变量成员


  }


  }


  InnerTwo innerTwo = new InnerTwo();


  innerTwo.testPrint();


  }


  public void use(){


  //Inner innerObj = new Inner();//此时Inner己不可见了。


  //System.out.println(Inner.x);//此时Inner己不可见了。


  }


  public static void main(String[] args) {


  FunOuter outer = new FunOuter();


  outer.test();


  }


  }


  从上面的例程我们可以看出定义在方法内部的内部类的可见性更小,它只在方法内部可见,在外部类(及外部类的其它方法中)中都不可见了。同时,它有一个特点,就是方法内的内部类连本方法的成员变量都不可访问,它只能访问本方法的final型成员。同时另一个需引起注意的是方法内部定义成员,只允许final修饰或不加修饰符,其它像static等均不可用。


  编辑推荐:


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

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目