JAVA -- 类与对象(九)类属性


类属性: 又叫做静态属性
对象属性: 又叫实例属性,非静态属性
如果一个属性声明成类属性,那么所有的对象,都共享这么一个值

public class hero {
	static String copyright = "湖北生物科技职业学院所有"; //类属性 静态属性
	public String name;  //实例属性 非静态属性

	public  static void main(String args[]) {
		hero a = new hero();
		a.name = "阿狸";
		hero b = new hero();
		b.name = "二狗";
		System.out.println(b.copyright);
		System.out.println(b.name);
		System.out.println(a.name);
	}
}

访问类属性

两种方式

hero.copyright
a.copyright

什么时候使用对象属性,什么时候使用类属性

如果一个属性,每个英雄都不一样,比如name,这样的属性就应该设计为对象属性,因为它是跟着对象走的,每个对象的name都是不同的

如果一个属性,所有的英雄都共享,都是一样的,那么就应该设计为类属性。比如血量上限,所有的英雄的血量上限都是 9999,不会因为英雄不同,而取不同的值。 这样的属性,就适合设计为类属性

练习-类属性??

通过a.copyright修改值,
然后通过打印b.copyright看看有没有什么变化?

public class hero {
	static String copyright = "湖北生物科技职业学院所有"; //类属性 静态属性
	public String name;  //实例属性 非静态属性

	public  static void main(String args[]) {
		hero a = new hero();
		a.name = "阿狸";
		a.copyright = "清华大学";
		
		hero b = new hero();
		System.out.println(hero.copyright);
		System.out.println(b.copyright);
	}
}

在这里插入图片描述