2 qq 28404995 qq_28404995 于 2016.03.16 21:49 提问

java同一个包下,类名改变一个数字结果完全不同,遇到鬼了

![图片说明](https://img-ask.csdn.net/upload/201603/16/1458136018_561334.png)图片说明
src上的Six2和Six3当时位置是同条件的。

4个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.16 22:07

问题是,你的Six2是与其他类定义在一个文件中的,不是独立的类,它的main方法就不能作为程序的入口了。
而且这还是有编译错误的,我这里按你这段代码将Six2定义为public ,是无法编译通过的,必须去掉public才行,但是去掉public后,main方法就无法运行了。
结论就是:java语法规定,具有main方法的类必须是具有单独文件的类,将Six2挪出来就正确了。这是语法规定,不是见鬼了。

u010805617
u010805617   2016.03.16 22:21

程序本身是没有问题的,应该是jdk安装配置过程中出现问题。
可参考:http://jingyan.baidu.com/article/e9fb46e1b2b3347521f766c1.html
提个建议:代码的格式规范一下。可对成员变量进行get和set封装。

optimisticEveryday
optimisticEveryday   2016.03.17 10:08

语法规定,移出来一下就可以了的

Royal_lr
Royal_lr   Ds   Rxr 2016.03.17 14:10

可能是jdk版本不匹配的问题吧

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
同一个包下不同java文件里不能有同名类,私有的也不可以
rt
同一包(package)下,两个不同类的调用操作详解
被调用类: package com.huawei.test; public class B{      String sex="男"; } 调用类: package com.huawei.test; public class A {     public static void main(String[] args) {
当在java不同包中有相同名字的servlet时,在web.xml中该如何配置?
web.xml<servlet> <servlet-name>FirstServlet</servlet-name> <servlet-class>cui.cn.Response_Forward.FirstServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>FirstServlet</servl
不同的包下有文件名相同的java类,spring自动注入会报错
今天闲的蛋疼,做了一下spring自动注入的例子: 看看spring自动注入的是否可以区别出不同包下相同名字的java类,答案是不能,spring居然这么渣。 整体结构图如下: 1:首先建立两个同名的java类和接口 com.a包下面有一个IAutoInject接口和实现类AutoInject,同理com.b包下面也有相同的接口和实现类。 同时加上spring声明bean的注解,
spring中不同包中类名相同报错问题总结
问题首先采用注解方式在cn.zy.spring.anno包中创建UserDao类 Demo:@Repository("userDao") public class UserDao { public void add(){ System.out.println("dao..."); } }接着在cn.zy.spring.jdbcTemplate包中创建UserDao类,
JAVA,同级包下的类引用不需要import
类ServiceResponse 的属性含有同级包下的属性类型为EServiceResPonseStatus类型的变量,此时并没有import引入,而只需要类EServiceResPonseStatus存在即可。如果EServiceResPonseStatus不存在,则会报错。报错信息: 解释:EServiceResPonseStatus 标志找不到,一般这种标志找不到的错误要么是没有创建此类或者
jvm加载包名和类名相同的类的规则,以及如何加载包名和类名相同的类
jvm包括三种类加载器: 第一种:bootstrap classloader:加载java的核心类。 第二种:extension classloader:负责加载jre的扩展目录中的jar包。 第三种:它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性或者 CLASSPATH操作系统属性所指定的JAR类包和类路径。 以上参考博客
java 查找包里的所有类名
package org.happy.utils; import java.io.File; import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.ja
springboot启动时候的一个注意事项——不同包下有同样名字的class类
springboot 在启动时候,常启动不起来,检查发现是不同包下面有同名的service和serviceImpl,按理说不同包下是可以有同名的类存在的,但是启动就是启动不了,报错说 org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'r...
java中源代码和lib库中有包名和类名都相同的类
当java的源代码中出现了和系统的lib库中的包名与类名完全一样的类时,系统应当怎么加载? 我们都知道在JVM启动的时候会先调用bootstrap classloader 加载核心类,然后调用extClassLoader 加载系统扩展类,然后再调用APPClassLoader加载系统类,现在问题来了当我们在工程里创建一个从包名到类名都与系统已有的类完全一样的类时会发生什么事情?请看下边的实验: