21xrx.com
2024-11-05 16:30:23 Tuesday
登录
文章检索 我的文章 写文章
Java内部类和外部类的比较详解
2023-06-11 19:35:06 深夜i     --     --
Java 内部类 外部类

在Java编程中,内部类和外部类是常见的概念,但是两者之间有何差异呢?在本文中,我们将详细探讨Java内部类和外部类之间的区别,并提供相关代码案例。

内部类和外部类的定义

在Java中,内部类是一个完全嵌套在另一个类中的类。内部类可以是静态的,也可以是非静态的。 内部类与外部类紧密耦合,因此内部类可以访问外部类的成员变量和方法。 以下是内部类的示例代码:


public class OuterClass {

  private int x = 10;

  

  class InnerClass {

    public int getX()

      return x;

    

  }

}

相比之下,外部类是Java程序中独立存在的类。


public class OuterClass

  public int x = 10;

内部类和外部类的主要区别

首先,内部类可以访问外部类的属性和方法,而外部类不能访问内部类的属性和方法。其次,内部类需要通过外部类的对象实例化,而外部类则不需要。最后,内部类可以是私有的,而外部类则不能。

以下是在内部类中访问外部类属性和方法的示例代码:


public class OuterClass {

  private int x = 10;

  

  class InnerClass {

    public int getX()

      return x;

    

  }

  

  public static void main(String[] args) {

    OuterClass outer = new OuterClass();

    OuterClass.InnerClass inner = outer.new InnerClass();

    System.out.println(inner.getX()); // 输出结果为 10

  }

}

以下是私有内部类的示例代码:


public class OuterClass {

  private int x = 10;

  

  private class InnerClass {

    public int getX()

      return x;

    

  }

  

  public static void main(String[] args) {

    OuterClass outer = new OuterClass();

    OuterClass.InnerClass inner = outer.new InnerClass();

    System.out.println(inner.getX()); // 输出结果为 10

  }

}

总之,内部类和外部类各自具有其特定的用途,开发人员应该视具体情况而定选择使用哪种类别。

  
  

评论区

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