Java基础——static关键字

本文介绍了Java中静态成员的概念,包括其加载机制、共享特性、设计思想(如静态属性用于对象间共享,静态方法无需实例化),以及使用时需要注意的限制,如不能重写和在static方法中使用this/super。
摘要由CSDN通过智能技术生成

对象只有在new的时候才会分配空间,有时候我们希望不管是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,就可以static修饰成员,也称静态成员或类成员。

static可修饰属性、方法、代码块、内部类。

特点:

  • 随着类的加载而加载(属于类),优先于对象存在。
  • static修饰的成员被所有对象所共享(也称类成员)。
  • 访问权限允许时,可不创建对象,直接被类调用。

静态成员引用格式:

类名.[静态成员属性/成员方法]

示例:

clasa Demo {
	private static String temp = "DEMO";
	public static void val() {
		System.out.println("Demo.val");
	}
}
class Test {
	public static void main(String[] args) {
		//直接使用类名调用
		System.out.println(Demo.temp;);
		Demo.val();
	}
}

静态属性、方法的设计思想:

  • 静态属性作为该类各个对象之间共享的变量。在设计类时,分析哪些属性不因对象的不同而改变,将这些属性设置为静态属性,相应的方法设置为静态方法。
  • 如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用静态方法,从而简化了方法的调用。

使用注意:

  • 类成员,直接使用类名.静态成员,不需要实例化。
  • static修饰的方法内只能调用static修饰的成员方法和成员变量,非static修饰的方法可以调用static修饰的成员(因为static修饰的成员优先对象加载)。
  • static修饰的方法不能被重写(因为static方法属于类,不属于对象)。
  • static方法内部不能有this和super(因为不需要实例就可以方法static方法,this和super都属于对象)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值