static定义method、property、class的用法,及注意事项

package net.csdn.statickeywords;

/** author @彦舜 */

//这个类用来测试static关键字的用法:定义属性
public class ExampleTninetyOne {
	public static void main(String[] args) {
	    //深层次原因:底层中,内存中,static属性保存在全局数据区
		Book.pub = "static不受实例对象控制,位于内存中的全局数据区,可以在主程序中由抽象模板类直接调用,修改/使用";  //貌似抽象模板类,也只有在此情况下,可以在主程序中不经过对象,直接使用
		
		//创建抽象模板类Book实例化对象,测试与使用类
		Book b = new Book("少立志", 999999.999);
		Book bo = new Book("Java开发", 10000.00);
		Book boo = new Book("MySQL开发", 42342.24);
		
		//修改公共属性的内容
		bo.pub = "彦舜出版社";
		//利用static定义的属性是可以由类名称直接调用的,仅仅简单地由一个对象去修改static属性不科学
		Book.pub = "XXXXX";
		
		System.out.println(b.getInfo());
		System.out.println(bo.getInfo());
		System.out.println(boo.getInfo());
		
		b.pub = "姚瑾瑜出版社";
		System.out.println(b.getInfo());
		System.out.println(bo.getInfo());
		System.out.println(boo.getInfo());
	}
}

//创建抽象模板类:描述的是同一个出版社的信息
class Book{
	private String title;  //普通属性
	private double price;  //普通属性
	static String pub = "清华大学出版社";
	
	//修改与获取封装属性方式之一:创建构造方法,功能类似于getInfo()方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章