java关于static的用法

来源:百度知道 编辑:UC知道 时间:2024/08/22 16:41:23
请先看有中文那两行
class Cup{
Cup(int marker){
System.out.print("Cup(" + marker + ")");
}
void f(int marker){
System.out.print("f(" + marker + ")" );
}
}
class Cups{
static Cup cup1;
static Cup cup2;
static {
cup1 = new Cup(1);
cup2 = new Cup(2);
}
Cups(){
System.out.print("Cups()");
}
}
public class ExplicitStatic{
public static void main(String args[]){
System.out.print("Inside main()");
Cups.cup1.f(99);
}
static Cups cups1 = new Cups();
static Cups cups2 = new Cups(); 为什么写了上面那行就必须写这行
}

即如果写了static Cups cups1 = new Cups();
则static Cups cups2 = new Cups(); 必须写

class ExplicitStatic {
public static void main(String args[]) {
System.out.print("Inside main()");
Cups.cup1.f(99);
}

static Cups cups1 = new Cups();
Cups cups2 = new Cups(); // 不写没问题
}

static是指在内存的datasegment里生成一块内存 要用的时候不用每次都new一个新的内存空间 直接用类名+static的方法名或变量名引用就可以了 args是字符串数组的名字

public static void main(String[] args)

(1)public:表示main方法可以由任何对象调用。
(2)static:表示这是一个类方法,区别于实例方法,与具体的对象无关。
(3)void:表示main方法没有返回值。
(4)String []args 是声明args可存储字符串数组;他是用来接受命令行传入的参数且只能为字符串

方括号放在前或后,与个人习惯有关,都是一样的!!!