private关键字的特点 (封装)

private关键字的特点:

1.可以修饰成员变量,也可以修饰成员方法,但是都只能在本类访问,外界类不能够访问
2.这些被私有修饰的成员变量,或者成员方法,可以间接通过公共方法来访问!
3.是一个权限修饰符
使用面向对象方式:定义一个学生类来描述学生事物 并进行测试
				属性:姓名,年龄
				行为:学习study
	测试时的问题:年龄赋值为负数----"非法数据
	如何改进这个代码? 当赋值年龄的时候,在学生类中加入判断功能
			如果当前学生的年龄 <0 或者 大于150 
			如果年龄在正常范围内: 正常赋值即可
			正常调用这个判断年龄的方法,如果非法数据,错误提示!
	加了这个功能,也可以不调用,赋值非法数据
	(外界类还是可以去改动当前Student类的成员),依然会显示出来!				
	针对这种情况:Java提供了技术----"封装"
	为了将某个类的成员属性隐藏(将属性(成员变量)"私有化"),
			并为之提供公共(public)访问方式!(setXXX()/getXXX())
			私有化:就是关键字"private"  只能在本类中访问
			封装目的:为了保证的数据的安全性!
class Student{
	//private String name ;//姓名
	//private int age ; //年龄  
	String name ;
	int age ; 
	//定义一个show方法:显示学生的信息
	public void show(){
		System.out.println("学生的姓名是:"+name+",年龄是:"+age) ;
	}
	public void study(){
		System.out.println("学习JavaSE...") ;
	}
	//提供一个功能
	public void  setAge(int num){ //传入的年龄
			if(num<0 || num >150){
				System.out.println("当前年龄不合适,非法数据!") ;
			}else{
				age = num ;
			}
	}
}
class StudentTest{
	
	public static void main(String[] args){
		//创建一个学生对象
		Student s  = new Student() ;
		s.name = "高圆圆" ;
		s.age = 41 ;//age 在 Student 中是 private 访问控制
		
		s.show() ;
		s.study() ;
		
		System.out.println() ;
		//在创建一个学生对象
		Student s2 = new Student() ;
		s2.name = "赵又廷" ;
		//s2.age = -20 ;
		//s2.setAge(-20) ;
		s2.age = -10;//age 在 Student 中是 private 访问控制
		s2.show() ;
		s2.study() ;
		
		
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值