java-初步认识封装

在类中,我们通过需求来写自己想要的方法

封装就是我们隐藏对象的实现细节,仅仅对外提供公共访问方式

外面必须使用我们所提供的方法  所以就可以在方法中添加数据监测功能

如下代码

package test2;
/*
   定义一个学生类
   成员变量:name,age
   成员方法:show() 方法
   我们在使用这个案例的过程中,发现一个问题:
   	通过对象去给成员变量赋值,可以赋值一些非法的数据
   	这是不合理的。
   	应该是这个样子的:在赋值之前,先对数据进行判断。
   	判断到底在哪里做比较合适呢?
   	
   	StudentDemo 是一个测试类,测试类一般只创建对象,
   	调用方法。
  	所以,这个判断应该定义在student类中
  	而我们在成员变量的位置可以不可以进行判断呢?
  	是不可以的。
  	因为做数据校验必须要依靠一些逻辑语句。
  	逻辑语句是应该定义在方法中的,所以,我们最终决定在
  	student 类中提供一个方法来对数据进行校验
  	
  	
  	按照我们前面的分析,我们给出了一个方法进行校验
  	但是呢,它偏偏不调用方法来赋值,还是直接赋值了
  	但是这样我们的方法就没有起到作用
  	我就应该要求你必须使用我的方法,而不能直接调用成员变量赋值
  	怎么去强制要求不能直接使用成员变量呢?
  	针对这种情况,Java就提供了一个关键字  :private
  	
  	private :私有的,可以修饰成员变量和成员方法
  	
  	注意的:被private 修饰的成员只能在本类中访问。
  	
  	其实我讲解到现在  讲解的是一个封装的思想
  	
  	封装:  是隐藏对象的属性和实现细节
  		   仅仅对外提供公共访问方式
 */

  
//import test1.Student;

class Student
{
	
	String name ;
	private int age;
	
	/*
	 	返回值类型: void 
	 	参数列表:	int a
	  	
	 */
		 
	 	public void setAge(int a)
	 	{
	 		if(a<0 || age >120)
	 		{
	 			System.out.println("你给的年龄有问题");
	 		}
	 		
	 		else 
	 		{
	 			age =a;
	 		}
	 			
	 		
	 	}
	 	

	
	public void show() //显示所有的成员变量值
	{
		System.out.println("姓名:"+name);
		System.out.println("年龄:"+age);
		
	}
}

public class New {
	public static void main(String[] args)
	{
		Student s=new Student();
		s.show();
		System.out.println("________________");
		//给成员变量赋值
		s.name="林情侠";
	//	s.age=27;
		s.setAge(27);
		s.show();
		
		System.out.println("________________");
		//给age赋值
		
		s.setAge(-27);
		s.show();
		System.out.println("________________");
		
	}
	

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值