为什么如果我的文件名和公共类名不同,那么我得到编译错误?

时间:2015-08-09 08:52:39

标签: java constructor compiler-errors access-specifier

public class constprac {

    public static void main(String args[]  )
    {
        consttest class1=new consttest("ria");
        class1.showName();
    }
}


**public** class consttest{
    String gname;
    public consttest(String name){``
        gname=name;
    }
    public String setName(){
        return gname;
    }
    public void showName(){
        System.out.println("YOUR 1ST GirlFriend IS "+ setName());
    }
}

1 个答案:

答案 0 :(得分:2)

  

为什么如果我的文件名和公共类名不同,那我得到编译错误?

因为Java是如何定义的:如果您有一个 public 类,它必须位于以公共类命名的文件中。

详细信息可在§7 of the JLS中找到。它实质上是说,如果源代码存储在文件系统中,则会施加一系列要求,以使包系统以一致的方式工作。