第10章
静态变量
1、没有静态变量前是这样处理问题的
package com.static_;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import org.w3c.dom.ls.LSOutput;
public class ChildGame {
public static void main(String[] args) {
int count=0;
Child c1 = new Child("xiaoming");
c1.join();
count++;
Child c2 = new Child("xiaomao");
c2.join();
count++;
Child c3 = new Child("xiaotu");
c3.join();
count++;
System.out.println("共有"+count+"个孩子加入游戏");
}
}
class Child
{
private String name;
public Child(String name) {
this.name = name;
}
public void join()
{
System.out.println(name+"加入了游戏");
}
}
2、有静态变量代码是这样的 `
package com.static_;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import org.w3c.dom.ls.LSOutput;
public class ChildGame {
public static void main(String[] args) {
//int count = 0;
Child c1 = new Child("xiaoming");
c1.join();
c1.count++;
Child c2 = new Child("xiaomao");
c2.join();
c2.count++;
Child c3 = new Child("xiaotu");
c3.join();
c3.count++;
System.out.println("共有" + Child.count + "个孩子加入游戏");
System.out.println(c1.count);
System.out.println(c2.count);
System.out.println(c3.count);
}
}
class Child {
private String name;
public static int count = 0;
public Child(String name) {
this.name = name;
}
public void join() {
System.out.println(name + "加入了游戏");
}
}
`
静态方法
package com.static_;
public class StaticMethod { public static void main(String[] args) {
Stu s1 = new Stu("tom");
Stu.pay(100);
Stu s2 = new Stu("mary");
Stu.pay(200);
Stu.totalPay();
}
}
class Stu { private String name; private static double fee = 0;
public Stu(String name) {
this.name = name;
}
public static void pay(double fee) {
Stu.fee += fee;
}
public static void totalPay() {
System.out.println("总学费"+Stu.fee);
}
}
`