站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题求教 “Static的問題”!!!

求教 “Static的問題”!!!

摘要: 求教 “Static的問題”!!!


下面是我的Java代碼
//////////////////////////////////////////////////////////////////////////////
import java.*;
import java.util.*;
import java.lang.*;
class bow1{

bow1(int marker){
System.out.println("Bow1("+marker+")");
}
void f(int marker){
System.out.println("f("+marker+")");
}
}

class table{
static bow1 b1=new bow1(1);
table(){
System.out.println("Table()");
b2.f(1);
}
void f2(int marker){
System.out.println("f2("+marker+")");
}
static bow1 b2=new bow1(2);
}

class cupboard{
bow1 b3=new bow1(3);
static bow1 b4=new bow1(4);
cupboard(){
System.out.println("Cupboard()");
b4.f(2);
}

void f3(int marker){
System.out.println("f3("+marker+")");
}
static bow1 b5=new bow1(5);
}

public class SwingForm{
public static void main(String[] args){
System.out.println("Creating new cupboard() in main");
new cupboard();
System.out.println("Creating new cupboard() in main");
new cupboard();

static table t2=new table(); //不能用static修飾嗎?
static cupboard t3= new cupboard(); //??
t2.f2(1);
t3.f3(1);
}

}
///////////////////////////////////////////////////////////////////////////
編譯後有錯誤,錯誤的提示是:
------------------------------------------------------------------------------------
Exception in thread "main" java.lang.Error: 尚未解決的編譯問題:
參數 t2 的修飾元不合法;只接受 final
參數 t3 的修飾元不合法;只接受 final

at SwingForm.main(SwingForm.java:47)
-------------------------------------------------------------------------------------


静态方法里面不能有静态变量



在JAVA中,函数内部不能有static修饰吧!
你可以把static 去掉,
或者把那两行写到main方法外面去!


java和c++不一样,函数里面不能用static


静态资源是属于类的资源,所以静态的属性变量只能定义在类的内部,而不能定义在方法内部


好象MAIN函数中不能这样定义静态变量吧!
你可以把那两个静态变量写在SwingForm类里!
用的时候在MAIN中用SwingForm.变量名就行了!


謝謝大家了,問題已經解決!但因為分數少,只能給最前面的兄弟了!!!
再次感謝!!!


↑返回目录
前一篇: package 问题,编译通过,执行不了
后一篇: 请大家帮帮忙,看看这个程序的允许结果为什么是这个?想了好久都不清楚