4.25学习内容

1.静态变量

不同的类需要对同一个变量进行操作,就需要定义一个静态变量

public class Pool {

	static public int water = 0;//这就是一个静态变量
	
	public void outlet() {
		if(water>=2) {
			water-=2;
		}
		else {
			water = 0;
		}
	}
	
	public void inlet() {
		water +=2;
	}
	
	public static void main(String[] args) {
		Pool in = new Pool();
		Pool out = new Pool();
		System.out.println("水池中的水量为"+water);
		
		System.out.println("向水池注水两次");
		in.inlet();
		in.inlet();
		System.out.println("水池中的水量为"+water);
		System.out.println("向水池抽水两次");
		out.outlet();
		out.outlet();
		System.out.println("水池中的水量为"+water);
	}
}

在这里插入图片描述
同一个类的不用实例对象,共用一个静态变量,如果一个对象将其修改,另一个对象的静态变量也会更改

public class StaticTest {

	static int x;
    int y;
    public StaticTest(int x,int y) {
	    this.x = x;
	    this.y = y;
    }
    
    public static void main(String[] args) {
		StaticTest a = new StaticTest(1, 2);
		//StaticTest b = new StaticTest(12, 2);
		System.out.println("a.x的值为"+a.x+"\n"+
		"a.y的值为"+a.y);
		StaticTest b = new StaticTest(12, 2);
		System.out.println("b.x的值为"+b.x+"\n"+
				"b.y的值为"+b.y);
	}
}

在这里插入图片描述

2.静态常量

public class Graphy {

	final static double PI = 3.1415926;//静态常量
	public static void main(String[] args) {
		Cricle a = new Cricle(2.0);
		Qiu b = new Qiu(2.0);
	}
}
class Cricle{//圆类
	double radius;
	double area;
	public Cricle(double radius) {
		this.radius = radius;
		area = Graphy.PI*radius*radius;
		System.out.println("圆的半径为"+radius);
		System.out.println("圆的面积为="+area);
	}
}
class Qiu{//球类
	double radius;
	double volume;
	public Qiu(double radious) {
		this.radius = radious;
		volume = 4/3*Graphy.PI*radius*radius*radius;
		System.out.println("圆的半径为"+radius);
		System.out.println("球的体积为="+volume);
	}
}

在这里插入图片描述

3.静态方法

public class StaticMethod {

	static public void show() {//静态方法
		System.out.println("这是一个静态方法A");
	}
	
	public static void main(String[] args) {
		StaticMethod.show();
	}
}

4.静态代码块

public class StaticTest1 {

	static {
		System.out.println("这里是一个静态代码块");
	}
	{
		System.out.println("这里是非静态的代码块");
	}
	public StaticTest1() {
		System.out.println("这里是构造方法");
	}
	
	public void method() {
		System.out.println("这里是成员方法");
	}
	
	public static void main(String[] args) {
		StaticTest1 test = new StaticTest1();
		test.method();
	}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值