static静态

**

静态变量

**
变量用static修饰,该变量就是静态变量,静态变量被共享

public class StaticDemo {
	static int x;
	int y;

	public StaticDemo(int x, int y) {
		this.x = x;
		this.y = y;
	}

	public static void main(String[] args) {
		StaticDemo a = new StaticDemo(1, 2);
		StaticDemo b = new StaticDemo(10, 20);
		System.out.println(a.x);
		System.out.println(a.y);
		System.out.println(b.x);
		System.out.println(b.y);
	}

输出结果:
在这里插入图片描述

由上可知:同一类的不同实例对象,共用同一静态变量,如果一个类将其更改,另一个类静态变量也会更改。

**

静态常量

**

final static double PI = 3.1415926;

fianl static 修饰一个成员变量,这个成员变量就会变成一个静态常量。

静态常量命名时所有字母都要大写

**

静态方法

**

静态方法不需要创建实例化对象,类名直接调用。

**

静态代码块

**

public class StaticDemo02 {
	static String name;

	// 静态代码块
	static {
		System.out.println(name + "静态代码块");
	}

	// 非静态代码块
	{
		System.out.println(name + "非静态代码块");
	}

	// 构造方法
	public StaticDemo02(String a) {
		name = a;
		System.out.println(name + "构造方法");
	}

	// 成员方法
	public void method() {
		System.out.println(name + "成员方法");
	}

	public static void main(String[] args) {
		StaticDemo02 s1;// 声明的时候就已经运行静态代码块了
		StaticDemo02 s2 = new StaticDemo02("s2");// new的时候会运行构造方法
		StaticDemo02 s3 = new StaticDemo02("s3");
		s3.method();// 只有调用的时候才会运行成员方法
	}

}

运行结果:
在这里插入图片描述

  • 静态代码块由始至终只运行一次
  • 非静态代码块,每次创建对象的时候,会在构造方法之前运行。
  • 构造方法只有在使用new创建对象的时候才会运行。
  • 成员方法只有在使用对象调用的时候才会运行。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值