美文网首页程序员
你一定要知道Java中4种类型的内部类

你一定要知道Java中4种类型的内部类

作者: 程序员麦冬 | 来源:发表于2020-07-09 15:53 被阅读0次

在Java中有4种不同类型的内部类可以使用。下面给出它们的名称和例子。

1.静态嵌套类(Static Nested Classes)

class Outer {   static class Inner {        void go() {         System.out.println("Inner class reference is: " + this);        }   }} public class Test {  public static void main(String[] args) {        Outer.Inner n = new Outer.Inner();      n.go(); }}

输出:Inner class reference is: Outer$Inner@19e7ce87

2.成员内部类(Member Inner Class)

成员类是特定于实例的。它可以访问所有方法,字段和外部类本身的引用。

public class Outer {    private int x = 100;     public void makeInner(){        Inner in = new Inner();        in.seeOuter();    }     class Inner{        public void seeOuter(){            System.out.println("Outer x is " + x);            System.out.println("Inner class reference is " + this);            System.out.println("Outer class reference is " + Outer.this);        }    }     public static void main(String [] args){        Outer o = new Outer();        Inner i = o.new Inner();        i.seeOuter();    }}

输出:

Outer x is 100
Inner class reference is Outer$Inner@4dfd9726
Outer class reference is Outer@43ce67ca

3.局部方法内部类(Method-Local Inner Classes)

public class Outer {    private String x = "outer";     public void doStuff() {     class MyInner {         public void seeOuter() {                System.out.println("x is " + x);            }       }       MyInner i = new MyInner();      i.seeOuter();   }   public static void main(String[] args) {        Outer o = new Outer();      o.doStuff();    }}

输出:x is outer

public class Outer {    private static String x = "static outer";   public static void doStuff() {      class MyInner {         public void seeOuter() {                System.out.println("x is " + x);            }       }       MyInner i = new MyInner();      i.seeOuter();   }   public static void main(String[] args) {        Outer.doStuff();    }}

输出:x is static outer

4.匿名内部类(Anonymous Inner Classes)

当您需要给一个GUI应用程序窗口小部件加一个动作监听器时,匿名内部类就会经常被用到。

button.addActionListener(new ActionListener(){     public void actionPerformed(ActionEvent e){         comp.setText("Button has been clicked");     }});

感谢你看到这里,我是程序员麦冬,一个java开发从业者,深耕行业六年了,每天都会分享java相关技术文章或行业资讯

欢迎大家关注和转发文章,后期还有福利赠送!

相关文章

  • Java 中的方法内部类

    Java 中的方法内部类 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内...

  • 你一定要知道Java中4种类型的内部类

    在Java中有4种不同类型的内部类可以使用。下面给出它们的名称和例子。 1.静态嵌套类(Static Nested...

  • Java 中的内部类

    这篇文章主要包括下面几个方面的内容 Java 内部类的意义 Java 中内部类的分类 Java 中内部类在设计模式...

  • scala中的内部类

    scala的内部类与java的内部类有些不同,Java中的内部类是包含了它的类的成员,Scala中,内部类的作用域...

  • Kotlin内联类、内部类、嵌套类

    Kotlin内联类、内部类、嵌套类 在开始介绍Kotlin内联类、内部类、嵌套类之前,先简要回顾一下java中的内...

  • JavaSE基础知识学习-----内部类

    内部类 类的五个成分:属性,方法,构造器,代码块,内部类。什么是内部类?在java中,允许一个类定义在另一个类的内...

  • PHP转JAVA的记录

    Java 数组 内部类 内部类的创建:内部类可以对包内其他类隐藏想实现一个接口时, 不想新建类文件 内部类可以访问...

  • 数据类型你要知道的那几件事标题文章

    数据类型你要知道的那几件事 1.整数类型 i.整数赋值的注意事项 - 在java中默认的整数类型都是int类型,当...

  • 面试官:谈谈你对Java内部类的理解?

    java中的内部类可以分为普通内部类(成员内部类),静态内部类,局部内部类和匿名内部类。 成员内部类 成员内部类就...

  • Java--内部类的分类-1

      在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。 成员内部类(可以使...

网友评论

    本文标题:你一定要知道Java中4种类型的内部类

    本文链接:https://www.haomeiwen.com/subject/qerscktx.html