21xrx.com
2024-12-23 00:26:02 Monday
登录
文章检索 我的文章 写文章
Java中的内部类及案例
2023-06-15 10:43:08 深夜i     --     --
Java 内部类 成员内部类 局部内部类 匿名内部类 静态内部类

Java作为一门面向对象的编程语言,拥有许多独特的特性,其中之一就是内部类。内部类是指在一个类的内部定义另一个类,而定义内部类的类被称为外部类。Java中的内部类又分为四类:成员内部类、局部内部类、匿名内部类、静态内部类。下面将介绍这四种内部类,并且提供代码案例。

1.成员内部类

成员内部类是定义在外部类中的类,通常与外部类的成员具有相同的访问权限,可以访问外部类的私有成员。下面是一个成员内部类的代码案例:


public class Outer {

  private int outerNum = 1;

  class Inner {

    public void print() {

      System.out.println("outerNum = " + outerNum);

    }

  }

  public static void main(String[] args) {

    Outer outer = new Outer();

    Inner inner = outer.new Inner();

    inner.print(); //输出结果为 outerNum = 1

  }

}

2.局部内部类

局部内部类是定义在一个方法或者一个作用域内的类,只能在该方法或者作用域内被访问。下面是一个局部内部类的代码案例:


public class Outer {

  public void print() {

    class Inner {

      public void printnum() {

        System.out.println("1");

      }

    }

    Inner inner = new Inner();

    inner.printnum(); //输出结果为 1

  }

  public static void main(String[] args) {

    Outer outer = new Outer();

    outer.print();

  }

}

3.匿名内部类

匿名内部类是没有名称的内部类,通常在创建匿名内部类的同时就创建了该内部类的对象。下面是一个匿名内部类的代码案例:


public class Outer {

  public static void main(String[] args) {

    new Thread(new Runnable() {

      public void run() {

        System.out.println("Thread is running...");

      }

    }).start();

  }

}

4.静态内部类

静态内部类是一个被声明为静态的内部类,不需要依赖于外部类的实例。下面是一个静态内部类的代码案例:


public class Outer {

  private static int outerStaticNum = 1;

  static class Inner {

    public void print() {

      System.out.println("outerStaticNum = " + outerStaticNum);

    }

  }

  public static void main(String[] args) {

    Outer.Inner inner = new Outer.Inner();

    inner.print(); //输出结果为 outerStaticNum = 1

  }

}

以上是Java中四种内部类的代码案例及解释。内部类在Java中具有非常重要的作用,例如在实现事件监听、多线程编程等方面都有广泛应用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复