内部类

内部类#

内部类就是在一个类的内部再定义一个类,比如,A中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是个外部类了。

成员内部类#

public class Outer{
    private int id = 10;
    public void out(){
        System.out.println("这是外部类的方法");
    }
    
    public class Inner{
        public void in(){
            System.out.println("这是内部类的方法");
        }
        
        //获得外部类的私有属性
        public void getID(){
            System.out.println(id);
        }
    }
}

静态内部类#

public class Outer{
    private int id = 10;
    public void out(){
        System.out.println("这是外部类的方法");
    }
    
    public static class Inner{
        public void in(){
            System.out.println("这是内部类的方法");
        } 
    }
}

局部内部类#

public class Outer {
    public void method(){
        class Inner{
            public void in(){
                
            }
        }
    }
}

匿名内部类#

public class Test{
    public static void main(String[] args){
    	//没有名字初始化类,不用讲实例保存到变量中
        new Apple().eat();
        
        UserService userService = new UserService(){
            @Override
            public void hello(){
                
            }
        }
        
}

class Apple{
    public void eat(){
        System.out.println("1");
    }
}
    
interface UserService{
    void hello();
}
posted @   shumild  阅读(48)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示
主题色彩