【Java】java的封装

本文通过一个简单的Java游戏角色示例,展示了封装的重要性。初始代码中,角色属性易被直接修改;通过将属性设置为私有并提供公共方法访问,增强了代码的安全性和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习封装的时候,我首先敲了了一个关于类与对象的代码,包括两个class,一个是main程序。

main.java

public class main {

	public static void main(String[] args) {
	character character = new character();//创建角色
	character.initialization("Emue");//初始化角色
	character.showId();//输出id
	character.showName();//输出名字
	character.showGrsde();//输出等级
	character.showHP();//输出Hp
	character.showAD();//输出ad
	}

}

character.java

public class character {
	 
	public int id ;
	public String name ;
	public int grade;
	public int HP ;
	public int AD ;
	void initialization(String name)
	{
		id = 1;
		this.name = name;
		grade = 0;
		HP = 100;
		AD = 10;
	}
	void showName()
	{
		System.out.println("Your name is:"+name);
	}
	void showId()
	{
		System.out.println("Your id is:" + id);
	}
	void showHP()
	{
		System.out.print("HP:"+HP+"\t");
	}
	void showGrsde()
	{
		System.out.println("Your grade is:" + grade);
	}
	void showAD()
	{
		System.out.println("AD:" + AD);
	}
}

 Run之后,输出

Your id is:1
Your name is:Emue
Your grade is:0
HP:100	AD:10

如果这是一个游戏的话封装应该是必须的,为什么要封装呢,

很简单如果改一下代码就可以数据修改掉

main.java改为

public class main {

	public static void main(String[] args) {
	character character = new character();//创建角色
	character.initialization("Emue");//初始化角色
	character.HP=99999;
	character.showId();//输出id
	character.showName();//输出名字
	character.showGrsde();//输出等级
	character.showHP();//输出Hp
	character.showAD();//输出ad
	}

}

随后输出

Your id is:1
Your name is:Emue
Your grade is:0
HP:99999	AD:10

数据就被修改了

如果我们把数据封装一下

character.java换为

package test;

public class character {
	 
	private int id ;
	private String name ;
	private int grade;
	private int HP ;
	private int AD ;
	void initialization(String name)
	{
		id = 1;
		this.name = name;
		grade = 0;
		HP = 100;
		AD = 10;
	}
	void showName()
	{
		System.out.println("Your name is:"+name);
	}
	void showId()
	{
		System.out.println("Your id is:" + id);
	}
	void showHP()
	{
		System.out.print("HP:"+HP+"\t");
	}
	void showGrsde()
	{
		System.out.println("Your grade is:" + grade);
	}
	void showAD()
	{
		System.out.println("AD:" + AD);
	}
}

数据就不容易修改了

在运行刚才的main.java无法运行了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值