为了加强理解,下面做两个简单的程序来进行static应用的演示。
范例:编写一个程序类,这个类可以实现实例化对象个数的统计,每一次创建新的实例化对象都可以实现一个统计。
- 此时可以单独创建一个static属性,因为所有对象都共享同一个static属性,那么在构造方法中可以实现数据的统计处理。
class Book{
private String title;
private static int count = 0;
public Book(String title){
this.title = title;
count ++;
System.out.print("第" + count +" 本图书创建出来。");
}
}
public class JavaDemo { //主类
public static void main(String [] args){
new Book("Java");
new Book("Jsp");
new Book("Spring");
}
}
范例:实现属性的自动命名处理
- 如果现在传递了title属性,就是用传递的属性内容,而如果没有传递title属性,则自动采用“NOTITLE-编号”的形式进行该属性内容的定义。
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;
}
}
public class JavaDemo { //主类
public static void main(String [] args){
System.out.println(new Book("Java").getTitle());
System.out.println(new Book("Jsp").getTitle());
System.out.println(new Book("Spring").getTitle());
System.out.println(new Book().getTitle());
System.out.println(new Book().getTitle());
}
}
这样处理的好处是可以避免在没有设置title属性时内容为null的重复问题。
网友评论