java之封装

一、封装概述

·封装是面向对象三大特性之一(封装,继承,多态)

·是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的

封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问,要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。

*原则:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

二、封装的实现and private与this

假若我在给成员变量赋值时,给age赋值为一个负数,这时程序又不能检测出来该怎么办?

private含义:

①private是一个权限修饰符,代表最小权限

②可以修饰成员变量和成员方法

③被private修饰后的成员变量和成员方法,只在本类中才能访问

我们把age 变量前加上private后,在其他类中就不能访问了。出现报错!

封装步骤:Ⅰ、使用private关键字来修饰成员变量。

                   Ⅱ、对需要访问的成员变量,提供对应的一对getXxx方法、setXxx方法。

 注意:stu.show只能对数据做一个展示,stu.getName/stu.getId可以对private进行后续处理。

这时有个问题,像我们看到setName(String n)而不知到那个n啥意思,我们应该做到见名知意。

输出结果:

null
0

为啥呀?哦原来是重名了,当成员变量与局部变量重名时,Java会使用就近原则。

上面意思也就是 局部变量name 给局部变量name赋值了,咋们要把局部变量name的值赋给成员变量name.于是:

this关键字的作用:可以调用本类的成员(变量、方法)解决局部变量和成员变量的重名问题。

this:代表所在类的对象引用

        注:方法被哪个对象调用,this就代表哪个对象

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值