java三大特征之封装

封装

即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,
将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作
数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。在电子方面,封
装是指把硅片 上的电路管脚,用导线接引到外部接头处,以便与其它器件连接。

封装

 将成员变量进行私有化,就不能直接访问,只能通过对外的公共(public) 访问    方法修饰
被private修饰的成员变量/成员方法只能在本类中访问!

本来我们可以直接调用,但是这样不好,所以java里面就直接 将成员变量进行私有化,就不能直接访问,只能通过对外的公共(public) 访问 方法修饰
被private修饰的成员变量/成员方法只能在本类中访问!
封装前:

class Student{
	String name ; // 姓名
	private int age ;     //年龄
	//将成员变量输出
	public void show(){
		System.out.println(name+"----,"+age) ;
	}	
}
class StudentDemo{
	public static void main(String[] args){
		
		//创建一个学生类的具体对象
		Student s1 = new Student() ;
		//给成员变量赋值:对象名.成员变量
		s1.name = "张三" ;
		 //访问了私有成员
		//s1.age = 27 ;
		s1.show();

	}
}

封装后

class Student2{
	//成员变量
	//姓名
	private String name ;  
	//性别
	private String gender ;
	//年龄
	private int age ;
	//学号
	private String id;
	
	//提供对外的公共访问方法:seXXX()/getXXX()
	//给name设置
	public void setName(String n) { //n 局部变量
		name = n ;
	}
	
	//获取年龄的值
	public String getName(){
		return name ;
	}
	
	//性别的设置和获取
	public void setGender(String g){
		gender = g ;
	}
	
	public String getGender(){
		return gender ;
	}
	
	//年龄
	public void setAge(int a){
		age = a ;
	}
	public int getAge(){
		return age ;
	}
	
	//id学号
	public void setId(String i){
		id = i ;
	}
	
	public String getId(){
		return id ;
	}
	
	//定义成员方法:显示成员变量
	public void show(){
		System.out.println("姓名是:"+name+",她的年龄是:"+age+",性别是: "+gender+",她的学号是:"+id) ;
	}
	
}
//测试类
class StudentTest{
	public static void main(String[] args){
		
		//需求: 给学生事物的具体对象的成员变量进行赋值
		//创建学生对象
		Student2 s = new Student2() ;
		
		//私有的成员不能访问
		//s.name = "张三" ;
		//s.age = 18 ;
		//给name赋值
		s.setName("张三") ;
		s.setGender("男") ;
		s.setAge(18) ;
		s.setId("9527") ;
		//姓名是:高圆圆,她的年龄是:38,性别是: 女,她的学号是:9527
		s.show() ;
		System.out.println("--------------------------");
		System.out.println(s.getName()+"----"+s.getGender()+"----"+s.getAge()+"-----"+s.getId());
		
	}
}
我们可以只关注于使用,而不关心具体的实现
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值