第一,一个java文件中不能有两个public类
第二,是public类就一定要用这个public的类名来定义java文件的文件名编译的错误不是写的很清楚嘛
因为yy是public,所以文件名必须声明成yy.java

解决方案 »

  1.   

    protected也是顶级类吗?
    另外再问一个问题,我记得不是主函数在哪个类里,才以这个类名定义*.java文件名吗?是不是我概念记错了?上面刚才说是*.java文件是以public类名定义的。到底哪个对哇?
      

  2.   

    一个类中只允许有一个public公有类,就是你所谓的主Function!
      

  3.   

    一个类中只能有一个public类。
      

  4.   

    为什么不能把yy类定义成protected型的?
    另外yy类中System.out.println(i);不注释为什么不能编译通过
      

  5.   

    另外yy类中System.out.println(i);不注释为什么不能编译通过
    -------------------------
    变成
    {
    System.out.println(i);
    }
    试试
      

  6.   

    zcjl()
    你的意思是不是把定义变量i的语句去掉?
    那这样的话,System.out.println(i);里面的“i”也是编译不能通过的
      

  7.   

    在Java中,类的类类型就没有protected类型的,
    你将这句
    System.out.println(i);
    放在了类的定义区,那怎么行呢,应该放在某个方法内嘛..
    派生类可以继承基类中的protected和public,default型的变量和方法,,而与类的类型是没有什么关系的,,
      

  8.   

    一个程序只能有一个顶级类public class
    和一些其他的普通类class
    你说protected也是顶级类吗?
    难不成你见过
    protected class?
    protected 只是对类中方法与变量的访问控制关键字,别弄浑了..
      

  9.   

    public class yy{
    int i = 10;
        {
    System.out.println(i);
        }
    }
      

  10.   

    zcjl() ( )
    我感觉你写得很有道理,但我不理解你这样写与我那样写有何区别?
    我那样写的i不是成员变量吗?跟你写的为这种不一样吗?
      

  11.   

    http://community.csdn.net/Expert/topic/3521/3521171.xml?temp=.112179这里刚好有一个小例子