static关键字

static定义属性

      在一个类之中,主要的组成就是属性和方法(分为构造方法与普通方法两种),而每一个对象都分别拥有各自的属性内容(不同对象的属性保存在不同的堆内存之中),如果现在类中的某个属性希望定义为公共属性(所有对象都可以使用的属性),也就是在全局数据区开辟一块空间,则可以在声明属性前加上static关键字。

static定义方法

         在定义类的普通方法时也可以使用static进行定义,那么很明显,使用static定义的方法也可以在没有实例化对象产生的情况下由类名称直接进行调用。

static方法限制

     类中的方法有两组:static方法、非static方法。这两组件方法间访问也将受到限制:

          static方法不能够直接访问非static属性或者是方法,只能够调用static属性或方法;

          非static方法可以访问static的属性或者是方法,不受任何的限制

Static的一些小功能:

1.实现类实例化对象个数的统计

class Book {
1.		private static int num = 0;		// 保存统计个数
2.		public Book() {			// 只要是新对象实例化就执行此构造
3.			num++;			// 保存个数自增
4.			System.out.println("这是第" + num + "个产生的对象!");
5.		}
6.	}
7.	public class TestDemo {
8.		public static void main(String args[]) {
9.			new Book(); new Book(); new Book();
10.			new Book(); new Book(); new Book();
11.		}
12.	}

2.实现属性的自动设置

     class Book {
	private String title ;			// title属性
	private static int num = 0 ;		// 自动命名索引号
	public Book() {		// 没有设置title属性内容
		this("NOTITLE - " + num ++) ;	// 自动命名
	}
	public Book(String title){		// 设置title属性内容
		this.title = title ;
	}
	public String getTitle() {
		return this.title ;
	}
}
public class TestDemo {
	public static void main(String args[]) {
		System.out.println(new Book("Java").getTitle()) ;
		System.out.println(new Book().getTitle()) ;
		System.out.println(new Book().getTitle()) ;
	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值