每日学习-Java基础(九)类和对象9(类属性)

一、类属性VS对象属性
类属性:static修饰,静态属性,所有对象共享,值相同。
对象属性:类成员,未被static修饰,非静态属性,每个对象有不同的值。

二、访问类属性
类名.类属性名
对象名.类属性名

三、代码

package c9_ca;

// ca
// class attributes 类属性
// static 修饰的属性叫做类属性,又称 静态属性
// 类属性,所有对象共享,具有相同的值
// 类的成员属性,对象属性,非静态属性,不同对象可能具有不同的值

public class Hero {
	public String name; // 英雄名称
	protected float hp; // 血量
	static String copyright; // 类属性,版权,每个英雄的版权都属于Riot Games公司
	static float maxHp; // 类属性,最大血量,每个英雄最大血量相同,9999.0

	public static void main(String[] args) {
		Hero garen = new Hero();
		garen.name = "garen";

		// 1-类属性
		Hero.copyright = "Riot Games";

		System.out.println("garen.name:" + garen.name); 
		System.out.println("garen.copyright:" + garen.copyright); // Riot Games

		Hero teemo = new Hero();
		teemo.name = "teemo";
		System.out.println("teemo.name:" + teemo.name);
		System.out.println("teemo.copyright:" + teemo.copyright); // Riot Games

		// 2-访问类属性 -访问即获取和修改
		// 2-1 对象.类属性
		// 这种方式也可以,但无法区分对象属性和类属性
		garen.maxHp = 9999.0f;
		System.out.println("garen.maxHp:" + garen.maxHp);

		// 2-2 类.类属性,符合定义,见名知意,推荐使用
		Hero.maxHp = 9999.0f;
		System.out.println("Hero.maxHp:" + Hero.maxHp);

		// 3-改变类属性
		// 可以通过 “对象.类属性” 或 “类.类属性”改变类属性的值
		garen.copyright = "Tencent Agency";
		System.out.println("garen.copyright:" + garen.copyright);
		System.out.println("teemo.copyright:" + teemo.copyright);
	}
}

运行结果:
在这里插入图片描述
四、什么时候使用类属性,什么时候使用对象属性

// 对象属性,跟着对象走,如name,hp,每个对象有自己特有的名称,血量;
// 类属性,所有对象一样,如copyright,maxHp,每个对象的版权一样,最大血量一样,对所有对象通用的属性使用类属性。

我的学习源泉:https://how2j.cn/k/class-object/class-object-class-attribute/296.html?p=114999
Java自学网站:https://how2j.cn?p=114999

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值