Java基础知识点(面向对象之封装)

MyEclipse演示对象创建和使用:

面向对象包括三大特征:

**- 封装
- 多态
- 继承**

当前主要讲解的封装机制。为什么要封装?封装有什么好处?

**First --->>封装的好处:**
		1、封装之后,对于那个事物来说,看不到这个事物比较复杂的那一面,只能看到该事物简单的那一面。**复杂性封装,对外提供简单的操作入口**。照相机就是一个很好的封装案例,照相机的实现原理非常复杂,但是对于使用照相机的人来说,操作起来是非常方便快捷的。还有像电视机也是封装的,电视机内存实现非常复杂,但是对于使用者来说不需要关心内部的实现原理,只需要会操作遥控器就行。
		2、**封装之后才会形成真正的“对象”,真正的“独立体”**。
		3、封装就意味着以后的程序可以重复使用。并且这个事物应该适应性比较强,在任何场合都可以使用。
		4、封装之后,对于事物本身,提高了**安全**性。【安全级别高】
package com.bjpowernode.javase.day09.test004;
/**
 * **Second --->>封装的步骤:**
 *  1、所有属性私有化,使用private关键字修饰,private表示私有的,修饰的所有数据只能在本类中访问。
 *  2、对外提供简单的操作入口,也就是说以后外部程序要想访问age属性,必须通过这些简单的入口进行访问:
 *  	- 对外提供两个公开的方法,分别是set方法和get方法
 *  	- 想修改age属性,调用set方法
 *  	- 想读取age属性,调用get方法
 *  
 *  3、set方法的命名规范:
 *  	public void  set+属性名首字母大写(形参){
 *	}
 *example:
 *  	public void setAge(int a){
 *  		age = a;
 *  }
 *  
 *  4、get方法命名规范:
 *  	public int getAge(){
 *  		return age;
 *  }
 *  
 * 回想一下,一个属性通常访问的时候包括几种访问形式?
 * 	- 第一种方式:想读取这个属性的值,读取get
 * 	- 第二种方式:想修改这个属性点的值,修改set
 * 
 * **需要大家先背会以下内容:**
 * 	*** setter and getter方法没有static关键字**
 * 	*** 有static关键字修饰的方法怎么调用:类名.方法名(实参);**
 * 	*** 没有static关键字修饰的方法怎么调用:引用.方法名(实参);**
 *
 */
public class User {
	
	//属性私有化
	private int age;
	
	//set方法:修改。set方法没有返回值,因为set方法只负责修改
	/*
	public void setAge(int age){
		age = age; //java有就近原则,这里其实并没有给age属性赋值,这里的age都是局部变量age
	}
	*/
	
	public void setAge(int a){
		
		//编写业务逻辑代码进行安全控制
		if(a < 0 || a > 150){
			System.out.println("对不起,你输入的年龄不合法!");
			return;
		}
		
		//程序执行到这的话,说明年龄是合法的,则进行赋值运算
		age = a;
	}
	
	//get方法:读取
	public int getAge(){
		return age;
	}

}

package com.bjpowernode.javase.day09.test004;

public class UserTest {

	public static void main(String[] args) {
		
		//创建User对象
		User user = new User();
		
		//编译报错:age属性私有化,在外部程序中不能直接访问
		//从此之后age属性非常的安全,但是有点太安全了
		//对于目前的程序来说,age属性彻底在外部访问不到了。
		//System.out.println(user.age);
		
		//修改。引用.方法名(实参); 【没有static关键字修饰的方法】
		user.setAge(-828);
		
		//读取。引用.方法名(实参);
		//int age = user.getAge();
		//System.out.println(age);
		System.out.println(user.getAge());
		
	}     
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值