java中什么叫内部类,java的内部类和外部类

  java中什么叫内部类,java的内部类和外部类

  普通内部类

  常见的内班有两个要点需要掌握。

  保存父类引用的变量和方法,因此它们可以访问父类的任何访问权限。

  如何在父类之外创建内部类

  公共类Main{

  公共静态void main(String args[]){

  Outer Outer=new Outer();

  //在外部类之外创建一个内部类

  外部。Inner Inner=outer . new Inner();

  inner . method();

  }

  }

  外部类{

  私有字符串值= OuterValue

  内部类{

  公共void方法(){

  //持有父类引用,可以访问父类私有变量值

  System.out.println(值);

  }

  //与。这个关键字,可以返回父类对象引用。

  公共外部外部对象(){

  返回Outer.this

  }

  }

  }(推荐教程:java入门)

  方法内部类

  直接在方法中定义的内部类。

  方法具有访问其他方法和外部类成员变量的同等权利。

  您可以访问此方法的参数。在1.8之后,参数不需要设置为最终。

  享有相同方法的局部变量的权限,并且可以访问在它前面定义的局部变量。

  您只能在方法的范围内访问方法的内部类。

  公共类Main{

  公共静态void main(String args[]){

  Outer Outer=new Outer();

  outer . outer method(“param”);

  }

  }

  外部类{

  公共void outerMethod(字符串值){

  内部类{

  public void innerMethod(){

  //您可以访问方法参数

  //1.8以后,内部类访问的方法参数不必设置为final。

  System.out.println(值);

  }

  }

  新的内部()。inner method();

  }

  }匿名内部类

  匿名类其实是一个重点,也是我们经常用到的一个知识点。

  例如创建新线程。

  公共类Main{

  公共静态void main(String args[]){

  线程a=新线程(新Runnable(){

  @覆盖

  公共无效运行(){

  System.out.println(线程a正在运行;);

  }

  });

  a . start();

  }

  }上面的代码意思是创建一个实现Runnable接口的匿名类对象,相当于下面的代码。因为好写,所以我们经常用第二种。

  公共类Main{

  公共静态void main(String args[]){

  线程a=新线程(new runnable imp());

  a . start();

  }

  静态类RunnableImp实现Runnable{

  @覆盖

  公共无效运行(){

  System.out.println(线程a正在运行;);

  }

  }

  }静态内部类

  记住以下两点

  要创建静态内部类对象,不需要外部类的对象(普通内部类需要)。

  不能从静态内部类访问非静态外部类方法或成员变量。

  公共类Main{

  外部。内内=新外。inner();

  }

  外部类{

  私有字符串ordValue

  私有静态字符串staValue

  静态类内部{

  {

  system . out . println(staValue);

  //这句话编不出来。

  //system . out . println(ordValue);

  }

  }

  }相关视频教程推荐:java视频以上是对Java内部类细节的详细讲解。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: