标签:不能 [] 名称 color 修改 使用 一个 \n 也会
static 定义属性:
1. static 定义后的属性,相当于该类的所有对象的公共属性,如果某个对象对这个属性进行修改,将会波及其他的对象
2. static 定义的属性可由类名称直接调用
3. 非 static 定义的属性需要实例化对象之后才能访问,而 static 属性不受实例化对象的控制,在没有实例化对象产生的时候,也是可以使用的(类名.属性)
public class Demo{ public static void main(String args[]){ Book bk1 = new Book("Java入门到放弃",58.98); Book bk2 = new Book("CSS禅意花园",79.99); //改变bk2的pub属性 bk2.pub = "北京大学出版社"; System.out.println(bk1.getInfo()); System.out.println(bk2.getInfo()); } } class Book{ private String title; private double price; //定义一个出版社属性 String pub = "清华大学出版社"; public Book(){} public Book(String title, double price){ this.title = title; this.price = price; } public void setTitle(String title){ this.title = title; } public void setPrice(double price){ this.price = price; } public String getTitle(){ return this.title; } public double getPrice(){ return this.price; } public String getInfo(){ return "title = " + this.title + "\n" + "price = " + this.price + "\n" + "publish = " + this.pub; } } /*----------------------------------------- E:\Javacode>java Demo title = Java入门到放弃 price = 58.98 publish = 清华大学出版社 title = CSS禅意花园 price = 79.99 publish = 北京大学出版社 E:\Javacode>*/
以上的代码将 String pub = "清华大学出版社" 前面加上 static 属性,则 pub 属性将会变成该类实例化的对象们所共有的属性,如果一个对象对这个 pub 属性进行操作,那么其他的对象的 pub 属性也会发生相应的改变
public class Demo{ public static void main(String args[]){ Book bk1 = new Book("Java入门到放弃",58.98); Book bk2 = new Book("CSS禅意花园",79.99); //改变bk2的pub属性 bk2.pub = "北京大学出版社"; System.out.println(bk1.getInfo()); System.out.println(bk2.getInfo()); } } class Book{ private String title; private double price; //定义一个出版社属性 static String pub = "清华大学出版社"; public Book(){} public Book(String title, double price){ this.title = title; this.price = price; } public void setTitle(String title){ this.title = title; } public void setPrice(double price){ this.price = price; } public String getTitle(){ return this.title; } public double getPrice(){ return this.price; } public String getInfo(){ return "title = " + this.title + "\n" + "price = " + this.price + "\n" + "publish = " + this.pub; } } /*----------------------------------------- E:\Javacode>java Demo title = Java入门到放弃 price = 58.98 publish = 北京大学出版社 title = CSS禅意花园 price = 79.99 publish = 北京大学出版社 E:\Javacode>*/
static 定义方法:
1. static 定义的属性和方法都不受实例化对象的控制,都属于独立类的功能
2. static 方法不能直接访问非 static 属性或者方法,只能调用 static 属性和方法
3. 非 static 方法可以访问 static 的属性或方法, 要调用非 static 方法必须要先实例化对象
标签:不能 [] 名称 color 修改 使用 一个 \n 也会
原文地址:https://www.cnblogs.com/dododo70/p/10397124.html