内部类.Java学习(java内部类总结)

  本篇文章为你整理了内部类.Java学习(java内部类总结)的详细内容,包含有java中什么叫内部类 java内部类总结 java中内部类的定义 java使用内部类的优缺点 内部类.Java学习,希望能帮助你了解 内部类.Java学习。

  内部类是定义在一个类的内部。通常是在方法中。

  本质还是一个类,可以访问外部类的所有成员,包含私有的。

  不能使用访问修饰符。但是可以使用final修饰符。

  作用域尽在定义它的方法或者代码块中。

  外部其他类不能访问局部内部类(因为局部内部类的地位就是衣个局部变量)。

  如果外部类和局部类的成员变量重名。遵守就近原则。如果要访问外部类变量。 可以通过 类型.this.成员 去访问。

  匿名内部类

  该类没有名字。

  是一个对象。

  定义外部类的局部位置,比如方法中,并且没有类名。(系统底层会分配一个类型)。

  匿名内部类使用一次就没了(生成的对象是可以多次使用)。

  匿名内部类是为了简化开发。

  

  

 1 package anonymous;

 

   3 public class InnerClass {

   4 public static void main(String[] args) {

   5 new Test().run();

  10 class Test {

  12 public void run() {

  13 Animal dog = new Animal() {

  14 @Override

  15 public void Say() {

  16 System.out.println("小狗汪汪");

  17 System.out.println(this.getClass());

  19 };

  20 dog.Say();

  25 interface Animal {

  26 void Say();

  27 }

 

  

  
----------
输出结果。

   小狗汪汪
class anonymous.Test$1

  成员内部类

  定义为的位置是成员位置。

  外部其他类可以调用成员内部类。

  

  

 1 package anonymous;

 

   3 public class MemberInnerClass {

   4 public static void main(String[] args) {

   5 Test01 test01 = new Test01();

   6 Test01.InnerClass innerClass = test01.new InnerClass();

   7 innerClass.Run();

  11 class Test01 {

  13 class InnerClass {

  14 public void Run() {

  15 System.out.println("这是成员内部类");

  18 }

 

  

  静态内部类

  静态内部类还是定义在成员位置,但是他有static修饰。

  可以直接访问外部类的所有静态成员,包括私有的。但是不能直接访问非静态的成员。

  

  以上就是内部类.Java学习(java内部类总结)的详细内容,想要了解更多 内部类.Java学习的内容,请持续关注盛行IT软件开发工作室。

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

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