Java 静态内部类的方法如何获取

本文通过一个实例介绍了如何在Java中访问静态内部类的字段。问题源于将字段错误地添加到静态内部类,导致外部类无法直接获取。纠正位置后,正确调用方法即可访问。文章探讨了静态内部类的基本概念及其在实际开发中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景

今天碰到一个极为经典的问题,是同事在开发期间碰到的。问题大概描述如下:

在a类中添加了一个字段,同时也利用lombok声明了其set和get方法。但是在b类中怎么也get不到这个字段。

我在仔细看了之后,发现原因很简单,同事是把字段加错位置了。原来,在a类中还有一个静态内部类,他是把字段加到这个静态内部类中,因此不能在别的类中被get到。

改对位置后,则能get到值了:

涉及知识点

这里主要涉及到对内部类的认识,尤其是静态内部类。

public class InnerClass {
    private static String nickName = "anan";
    private String name;
    private int age;
    
    public InnerClass(String name, int age)
    {
        this.name = name;
        this.age = age;
    }
    
    public String getName()
    {
        return name;
    }
    public void setName(String name)
    {
        this.name = name; 
    }
    
    public int getAge()
    {
        return age;
    }
    public void setAge(int age)
    {
        this.age = age;
    }
    
    public static class Inner
    {
        private String heart = "zhaoli";
        public String getHeart()
        {
            return heart;
        }
        public void setHeart(String h)
        {
            this.heart = h;
        }
        
        public void print()
        {
            System.out.println(InnerClass.nickName);
            System.out.println(getHeart());
        }
    }
}

我们可以写一个测试类:

public class InnerClassTest {
    public static void main(String[] args)
    {
        InnerClass.Inner inner = new InnerClass.Inner();
        inner.print();
        inner.setHeart("simple-simply");
        inner.print();
    }
}

这个就是从静态内部类中调用方法的方式。

后续再整理静态内部类在开发过程中的优缺点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值