jell0731 2016-09-13 04:19 采纳率: 0%
浏览 1214

JAVA中主函数NEW1个内部类对象和NEW1个外部类对象?

编译器报错:无法从静态上下问中引用非静态变量。
但是为什么主函数NEW1个外部类对象可以成立呢?

 class Inner1
{
}

class InnerClassDemo3 
{
    class Inner2
    {
    }

    public static void main(String[] args) 
    {
        //System.out.println("Hello World!");
        new Inner1();
        new Inner2();
    }
}

  • 写回答

3条回答 默认 最新

  • 2016-09-13 04:36
    关注

    因为Inner2是类InnerClassDemo3 的一个成员变量,静态函数只能访问静态变量,要想访问Inner2有两种方法:
    方法一:

    static  class Inner2 {
    }
    

    将变量声明为静态的
    方法二:

     class Inner2 {
            String a = "hello";
        }
        public static void main(String[] args) {
            Inner2 inner = new MyTest().new Inner2();
            System.out.println(inner.a);
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)