01 03Java中级之static关键字


static是一个关键字,主要可以用来定义属性和方法。

1 声明static属性

在一个类中,所有的属性一旦定义了,实际上内容都交由各自的堆内存空间所保存。加static会将类中属性变为公共属性。

对static属性的访问需要注意一点:由于其本身是一个公共的属性,虽然可以通过对象进行访问,但是最好的做法是通过所有对象的最高代表(类)来进行访问,所有static属性可以由类名称直接调用。static属性可以在没有实例化对象的时候使用。

static设计原则:在以后进行类设计的时候首选的一定是非static属性(95%),而考虑到公共信息存储的时候才会使用到static属性(5%),非static属性必须在实例化对象产生之后才可以使用,而static属性可以在没有实例化对象产生的情况下直接通过类名称进行调用。

2 声明static方法

static方法的特点在于其可以直接由类名称在没有实例化对象情况下进行调用。这个时候对于程序而言就有了两种方法:static方法和非static方法,这两个方法之间在调用上就有了限制。
(1)static方法只允许调用static属性或static方法;
(2)非static方法允许调用static属性和static方法。

static定义的方法或者是属性都不是你代码编写之初所需要考虑的内容,只有在回避实例化对象调用并且并且描述公共属性的情况下才会考虑使用static定义的方法或者是属性。

3 static应用案例

class Book{
	private String title ;
	private static int count = 0 ;

	public Book( String title) {
		this.title = title ;
		count++ ;
	}

	public String getTitle(){
		return this.title;
	}
}

实现自动命名。

//代码结构更好
class Book{
	private String title ;
	private static int count = 0 ;

	public Book() {
		this( "NOTITLE-" + count++ ) ;
	}

	public Book( String title) {
		this.title = title ;
	}

	public String getTitle(){
		return this.title;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值