java封装特点

java封装(笔记)

1、封装特点?

1、将类的某些信息属性隐藏在类内部,不允许外部直接访问
2、通过该类提供的方法(让外部)实现该内的隐藏的信息访问。
3、面向对象的三大特征之一

2、如何实现封装?

在这里插入图片描述
封装的例子

/**
 * 宠物狗狗类
 */

public class Dog {
	//1.隐藏属性
	private String name = "无名氏"; // 昵称,默认值是"无名氏"
	private int health = 100; // 健康值,默认值是100,健康值在0-100之间,小于60为不健康
	private int love = 0; // 亲密度,在0-100之间
	private String strain = "聪明的拉布拉多犬"; // 品种
	
	//2.添加属性的setter/getter方法,并加入属性控制语句
	//setter:属性赋值;属性的操作(正确判断等)
	//getter:属性取值
	public void setHealth(int health){
		if(health<0 || health>100){
			System.out.println("宠物狗狗的健康值只能在0-100之间!");
			this.health = 60;
			return;
		}
		this.health = health;
	}
	
	public int getHealth(){
		return this.health;
	}
	
	public void setName(String name){
		this.name = name;
	}
	
	public String getName(){
		return this.name;
	}
	
	public void setLove(int love){
		if(love<0 || love>100){
			System.out.println("宠物狗狗的亲密度只能在0-100之间!");
			this.love = 60;
			return;
		}
		this.love = love;
	}
	
	public int getLove(){
		return this.love;
	}
	
	public void setStrain(String strain){
		this.strain = strain;
	}
	
	public String getStrain(){
		return this.strain;
	}
	
	/**
	 * 输出狗狗的信息
	 */
	public void print() {
		System.out.println("宠物的自白:\n我的名字叫" + this.name + 
				",健康值是"	+ this.health + ",和主人的亲密度是"
				+ this.love + ",我是一只 " + this.strain + "。");
	}
}

测试类

public class TestPet {
	public static void main(String[] args) {
		Dog dog=new Dog();
//		dog.health=-1000;
		dog.setHealth(-1000);
		System.out.println(dog.getHealth());
		/*dog.love=3;
		dog.name="多多";
		dog.strain="吉娃娃";*/
		dog.setLove(-9);
		dog.setName("多多");
		dog.setStrain("吉娃娃");
		dog.print();
		
		/*Penguin p=new Penguin();
		p.health=-1000;
		p.love=3;
		p.name="Q仔";
		p.sex="男";
		p.print();*/
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值