静态方法调用内部类时候的new 问题

Posted renjianjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态方法调用内部类时候的new 问题相关的知识,希望对你有一定的参考价值。

package tool;

/**
 * 静态方法调用内部类时候的new 问题
 */
public class aa {

    // 静态方法
    // 静态方法new 有问题
    public static void aa() {
        bb b = new bb(); //报错
        bb b1 = new aa().new bb();//没问题
        
        //解决方法
        /*
         * 1.内部类设置成静态类
         * 2.内部类new的方式   bb b = new aa().new bb()
         * 
         */
    }

    // 非静态的方法直接new,没有问题
    public void cc() {
        bb b = new bb();
    }

    // 内部类bb
    class bb {
        private int b;

        public int getB() {
            return b;
        }

        public void setB(int b) {
            this.b = b;
        }

    }
}

技术分享图片

 

技术分享图片

 

以上是关于静态方法调用内部类时候的new 问题的主要内容,如果未能解决你的问题,请参考以下文章

在静态方法中new 一个内部类对象和new 一个外部类对象的区别

内部类和外部类之间的相互调用

静态变量,静态方法,静态代码块,静态内部类

片段内部静态类和gradle问题

Java 静态内部类作用?

__new__静态方法