范例1:
class Book {
private String title;
private double price;
private static String pub = "清华大学出版社";
public Book(String title, double price) {
this.title = title;
this.price = price;
}
public String getInfo() {
return "书名:《" + this.title + "》,价格:" + this.price + ",出版社:" + this.pub;
}
public static void setPub(String p) {
pub = p;
}
}
public class Demo {
public static void main(String[] args) {
Book.setPub("北京大学出版社");
Book b1 = new Book("Java实例", 99.9);
Book b2 = new Book("Android开发", 88.8);
System.out.println(b1.getInfo());
System.out.println(b2.getInfo());
}
}
=============分割线=============
static实际应用
范例2:
class Book {
private static int num=0;
public Book() {
num++;
System.out.println("第"+num+"个对象");
}
}
public class Demo {
public static void main(String[] args) {
new Book();
new Book();
new Book();
new Book();
}
}
=============分割线=============
static实际应用
范例3:
class Book {
private String title;
private static int num=0;
public Book() {
num++;
System.out.println("第"+num+"个对象");
}
public Book(String title) {
this.title=title;
}
public String getTitle() {
return this.title;
}
}
public class Demo {
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());
}
}
总结:static属性保存在全局数据区。
内存区共有4个:栈内存,堆内存,全局数据区,全局代码区。