为什么这段使用静态内部类的程序会出错?求解答

来源:7-7 Java 中的静态内部类

_天微凉_

2015-02-09 23:16

http://img.mukewang.com/54d8cefc0001538205740299.jpg

package com.imooc.second;

public class Telephone {
	int num = 100;
	public Telephone(){
		System.out.println("com.imooc.second.Telephone");
	}
	public static class SInner(){
		
		public void test(){
			System.out.println(new Telephone().num);
		}
	}
}
如图所示,图中错误有两处,为什么会出现错误呢,完全是按照教程中左侧的代码来写的,还有如何修改啊?


写回答 关注

3回答

  • 仗剑闯江湖
    2015-02-10 00:08:25
    已采纳

    类名SInner后面的小括号是几个意思?

    ENCOUT... 回复_天微凉_

    直接创建 SInner 的一个对象 然后调用test 方法啊

    2015-04-03 16:04:12

    共 3 条回复 >

  • demo_h
    2015-02-10 15:49:25
    在外部类中定义一个主方法即可 静态内部类不需要外部类对象就可以直接创建 

    public class TelePhone {
    int num = 100;
    public TelePhone()
    {
    System.out.println("telephone!");
    }
    public static class SInner{
    public void test()
    {
    System.out.println(new TelePhone().num);
    }
    }
    public static void main(String[] args) {
    SInner sInner = new SInner();
    sInner.test();
    }
    }


    _天微凉_

    受教了,非常感谢

    2015-02-10 21:35:36

    共 1 条回复 >

  • Jy_z
    2015-02-10 00:42:48

    楼上已经解决了你的问题.  定义类需要加()吗?

    _天微凉_

    同样也非常感谢,只不过最佳答案只能有一个,所以... 我还想问一下,上面的代码改正过后,如何调用内部类的test()方法呢?哥能不能帮忙敲下代码

    2015-02-10 10:26:31

    共 1 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530559 学习 · 6091 问题

查看课程

相似问题