java基础第10章学习笔记

59 阅读1分钟

第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);
}

}

`