static

来源:互联网 发布:冰原狙击淘宝有没有cdk 编辑:程序博客网 时间:2024/06/05 14:08
static 关键字的使用:
在实际的工作之中,使用static的原因有二:
希望可以有没有实例化对象的时候可以轻松的执行类的某些操作; 
现在希望表示出数据共享的概念。


范例:统计一个类产生的实例化对象个数
一个类肯定可以有多个实例化对象产生,那么现在希望增加一个统计操作,可以统计出一个类之中的所产生的实例化对象的个数,如果现在要产生新的实例化对象,则一定会调用类中的构造方法,所以可以在构造方法中增加统计,而且这个统计的变量,应该是所有对象共享的,那么应该将其定义为static属性。
class Person {private static int count = 0;public Person() {System.out.println("对象个数 :" + ++count);}}public class Test {public static void main(String[] args) {new Person();new Person();new Person();}}

范例:为类的属性自动全名
例如,在一个类之中可能会有多个 构造方法,那么假设类之中存在了一个name属性,要求这个属性一定要有内容,即:如果用户调用了无参构造方法,那么name也需要有一个具体的内容出现,所以这个时候就可以利用static完成。
class Book {private static int count = 0;private String title ;public Book() {this("NOTITLE-" + count++);}public Book(String title) {this.title = title;}public String getTitle() {return this.title;}}public class Test {public static void main(String[] args) {System.out.println(new Book().getTitle());System.out.println(new Book("Java SE").getTitle());System.out.println(new Book().getTitle());}}

实际之中基本上很少去这样使用,不过如果出现了类似的应用,应该能够反应出来其实现的基本原理。
0 0
原创粉丝点击