Java中内部类和外部类的区别

2024-01-10 12:07:02

内部类和外部类是Java中两种类的嵌套关系,内部类是定义在另一个类中的类,而外部类是独立存在的类。

内部类和外部类的区别:

1. 内部类可以直接访问外部类的成员变量和方法,而外部类不能直接访问内部类的成员变量和方法;
2.内部类可以是静态的也可以是非静态的,而外部类只能是非静态的;
3.内部类可以访问外部类的私有成员,而外部类不能访问内部类的私有成员;

内部类的应用场景

1. 逻辑上属于外部类的一部分,但不希望被外部类的其他部分访问;
2.需要实现某个接口或继承某个类,但不希望被其它类访问;
示例:
public class OuterClass {
    private int outerVar;
    
    public void outerMethod() {
        InnerClass inner = new InnerClass();
        inner.innerMethod();
    }
    
    public class InnerClass {
        private int innerVar;
        
        public void innerMethod() {
            outerVar = 10; // 可以直接访问外部类的成员变量
            outerMethod(); // 可以直接调用外部类的方法
        }
    }
}

总结:

封装性:内部类可以隐藏在外部类中,实现封装和隐藏;
回调函数:内部类可以用于实现接口或抽象类,用于回调函数的实现;
事件处理:内部类可以用于事件处理,例如Swing编程中的事件监听器。

文章来源:https://blog.csdn.net/qq_44577699/article/details/135496926
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。