java class前如果不加public的话,类名和文件名可以不相同吧?这个程序为什么会出错???

问题描述

java class前如果不加public的话,类名和文件名可以不相同吧?这个程序为什么会出错???



解决方案

总结:如果使用记事本来写这个程序,是没有问题的,只要javac Saaa.java和java Saaaaa就可以了,但是在eclipse中不能直接运行,而是应该在run configuration中将运行的类修改为Saaaaa,因为eclipse默认运行的类和java文件名是相同的。这个程序本身是一点问题都没有的,只要类前不加public,那么类名和文件名就可以不相同。

解决方案二:

但是作为程序入口的类必须是public的

解决方案三:

我只要将类名和文件名改为相同,这个程序就可以正常运行,并不是一定需要public

解决方案四:

一个记事本或写成程序的一张页面,类只能有一个public,而且包含主函数的类名必须与文件名相同

解决方案五:

改了之后这个程序就没有入口了。

解决方案六:

这个类要是入口呢??

解决方案七:

包含主函数的类,类名必须与文件名相同!

解决方案八:

没有加public的话,默认是default。。。再就是类名必须和文件名相同

解决方案九:

事实证明,用记事本写是没有问题的,但是eclipse好像不行

解决方案十:

求采纳!!!1java有严格的要求的:如果源文件中有多个类,则最多只能有一个public类,且源文件名必须与该public类名相同;如果没有public类,则源文件名必须是源文件中任意一个类的名字。

时间: 2024-12-03 08:39:30

java class前如果不加public的话,类名和文件名可以不相同吧?这个程序为什么会出错???的相关文章

java中 包里存放的是类名.java 还是类名.class?

问题描述 java中 包里存放的是类名.java 还是类名.class? 问题1 java中 包里存放的是类名.java 还是类名.class? 类名.java文件一定要放在所 属包目录下吗? 问题2.见下代码 package packb; public class DemoB { public static void main(String[] args) { System.out.println("Hello World!"); } } package packa; class D

java类 B继承A 打印调用类名问题

问题描述 java类 B继承A 打印调用类名问题 代码如下 B集成A 在B类中打印super 和this得到类名 class A{ } class B extends A{ systemout.println(super.getClass()); systemout.println(this.getClass()); } class Test { public static void main(String[] args) { // TODO Auto-generated method stub

JAVA 类声明中关键字public的作用

      JAVA类声明中关键字public起到什么作用呢?如下Hello类的声明,按着字面的意思理解是:Hello类是公共的, 要求Hello类与类文件名必须保持一致,并且一个java文件中只能有一个public关键字声明的类. public class Hello{public static void main(String args[]){System.out.println("Hello JAVA!");} } 如果关键字public命名的类Hello与类文件名不一致,如下图

封装-java中 关于成员变量public权限的意义

问题描述 java中 关于成员变量public权限的意义 类为了封装 应该都已经讲成员变量设为private权限了 那public的意义是什么 好像看过一本c++的书 说语言发明者仅仅是为了操作简单 但是一直比较纠结 问问各位大神 解决方案 field只是不建议public,如果要public,请用方法或者属性,如果是const或者readonly的你可以考虑public出来,因为这些是不可变的

bean-如何理解java当众Bean类,public class WeatherBean

问题描述 如何理解java当众Bean类,public class WeatherBean public class WeatherBean 什么cityBean啦 诸如此类 是不是很多字符值可供选择呀 解决方案 JAVA---关于public class的理解java中关于public class 解决方案二: Bean表示这是一个组件.weather是天气,city是城市.xxxbean中只有xxx表示你业务中用到的对象. 解决方案三: 采纳错了,不好意思...

堆栈 日志 反射-java能否动态的在程序中获得出错的值(入参)

问题描述 java能否动态的在程序中获得出错的值(入参) 现在想对项目中的日志进行改造.方便出问题时的解决效率.(出问题时每次都要对错误进行复现.尤其是流程很长的时候.花了大量的时间和精力). 举个简单的例子. public class 人 { private String 身高; private String 体重; private int 年龄; public String get身高() { return 身高; } public void set身高(String 身高) { this.

matlab java-为什么我在matlab上写的程序打成jar包 导入java程序运行就出错

问题描述 为什么我在matlab上写的程序打成jar包 导入java程序运行就出错 package testGraph; //import paintgraph.MatlabPaint; import com.mathworks.toolbox.javabuilder.MWException; import toAdd.Adds; public class TestPaint { /** * @param args */ public static void main(String[] args

java项目在本机部署运行成功,但放到服务器的tomcat/webapps文件夹下后出错

问题描述 java项目在本机部署运行成功,但放到服务器的tomcat/webapps文件夹下后出错 提示错误: 2016-3-15 14:05:52 org.apache.catalina.core.StandardContext start 严重: Error listenerStart 2016-3-15 14:05:52 org.apache.catalina.core.StandardContext start 严重: Context [/AMS] startup failed due

rtti在java造型前的检查

迄今为止,我们已知的RTTI形式包括: (1) 经典造型,如"(Shape)",它用RTTI确保造型的正确性,并在遇到一个失败的造型后产生一个ClassCastException违例. (2) 代表对象类型的Class对象.可查询Class对象,获取有用的运行期资料. 在C++中,经典的"(Shape)"造型并不执行RTTI.它只是简单地告诉编译器将对象当作新类型处理.而Java要执行类型检查,这通常叫作"类型安全"的下溯造型.之所以叫"