记JAVA学习的第一个错误"类 helloworld 是公共的, 应在名为 helloworld.java 的文件中声明"

问题描述:在cmd中使用命令java hellojava.java时,提示“类 helloworld 是公共的, 应在名为 helloworld.java 的文件中声明”。

文件名:F:\ProgramStuday\Java\HelloJava\hellojava.java

内容:

public class helloworld
{
    public static void main(String[] args) 
    {
        System.out.println("hello java!");
    }
}

作为一名.net 程序员,突然之间因为要参与一个JAVA项目,开始突击JAVA,装好JDK理所当然的弄个helloworld来试下。一直听闻JAVA和C#很像,建了个记事本就开干,然后就被搞懵了,一开始没有注意那句中文,只留意了下面有个

public class helloworld

           ^

然后百度一下才发现也有人像我这样的,原来是

一个java源文件可以包含多个class,但是只能包含一个public class,而且这个public class的类名要与这个.java的文件名一致。一个.java文件可以包含多个class,在编译的时候,编译器会为每一个class生成相应的class文件。

也就是我的public 类名和文件名不一样,所以把helloworld改成hellojava 就顺利编译了。

运行的时候,java  hellojava就行,不用加.class,否则就会报错:找不到或无法加载主类 hellojava.class

经验:
原理性的知识不可忽视,需要在实践中不断理解,达到融会贯通;
做什么事情都要认真,很多错误都是不认真造成的。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值