public class Test extends Test2 { static class Test2 {
static int a=6;
public static void g(){
//System.out.println(this.a);
} static int a=5;
public static void f(){
System.out.println(a);
}
public static strictfp void main(String args[]){
Test.f();
}
} 我是在试验静态方法里到底有没有this和super时写出来的这个代码 但是很奇怪 在控制台里可以正常编译运行出来结果 但是放到eclipse里会提示Test2 conn't be resolve a type
求高人来解释
static int a=6;
public static void g(){
//System.out.println(this.a);
} static int a=5;
public static void f(){
System.out.println(a);
}
public static strictfp void main(String args[]){
Test.f();
}
} 我是在试验静态方法里到底有没有this和super时写出来的这个代码 但是很奇怪 在控制台里可以正常编译运行出来结果 但是放到eclipse里会提示Test2 conn't be resolve a type
求高人来解释
解决方案 »
- 推荐一个 j2se 使用的混淆器
- -- * 求助 2011.11.7 * -- 关于 HttpClient 和 Cookie 的问题。
- 100分讨论一个关于验证IP是否在定义范围内的算法
- chm格式的电子书,怎么做?
- java面板组件/图形界面设计问题
- java 连接Mysql问题?帮忙看看,谢谢啦!
- com.jspsmart.upload这个包 在哪里有下或者谁发给我?马上给分!
- 高手进来看看这个问题
- 用java开发数据库,连接db2应该如何设置classpath (或者说应引入哪个包)
- hexiaofeng(java爱好者),我知道你 过了scjp
- WSAD环境下,如何在线程中使用数据源.
- compareTo
static class Test2 {
static int a=6;
static void g(){
//System.out.println(this.a);
}
}
static int a=5;
public static void f(){
System.out.println(a);
}
public static void main(String args[]){
Test.f();
}
}
=========================================
我是说我顶楼贴出来的代码少写了个}不是说补上}问题就没了我猜是因为那个内部类是静态的 编译的时候先编译了Test2 然后再编译Test的时候所以没错
但为什么eclipse不行呢 直接运行会出来这个
Exception in thread "main" java.lang.Error: Unresolved compilation problem: at Test.main(Test.java:13)
我在控制台中, 一样编译不通过, 使用的是JDK6.10, 不知道你是怎么编译成功的。实际上, 这个本来就是错的, 因为在编译的时候, Test要先取得他的父类的信息, 而这时父类根本就还不存在。