Java 面向对象封装性

package test;

public class User {
    private int age;

	public static void main(String[] args) {
    //创建User对象
    User user = new User();
    //修改年龄值
    user.age=20;
    //访问age
    //读取年龄值【get】
    System.out.println("该用户年龄:" +user.age);
    //修改年龄值,下面输出的是修改后的年龄值
    user.age=100;
    System.out.println("该用户年龄:" +user.age);
    //这里的age属性显然是完全暴露给外部程序的,对于程程序员来说可以操作User对象当中所有的细节,
    //导致User中部分数据不安全。
    //不建议这样,建议User类型进行封装,在外部程序中不能随意访问User对象当中的属性
    //这样可以保证属性的安全性
    user.age=-200;
    System.out.println("该用户年龄:" +user.age);
    }
}

对于如上示例程序来说:

User类中的age属性在外部程序中可以随意访问,导致age属性的不安全。一个User对象表示一个用户,用户的年龄不可能为负数,程序当中给定的年龄为负数,但是运行的时候没有报错,这是当前程序的缺陷,所以需要封装。

面向对象包括三大特征:

1,封装;2,继承;3,多态;

封装的好处:

1,封装之后,对于那个事物来说,看不到事物的复杂的那一面,只能看到简单的一面。比如电视机的内部构造与遥控器之间的联系。

2,封装之后才会形成真正的对象,真正的独立体;

3,封装意味着程序可以重复使用,并且该程序适应性强,很多情况下都可以使用;

4,封装之后,对于程序本身,提高了安全性;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值