学Java的第二十天-面向对象(四)--封装性

面向对象的特征一: 封装与隐藏

在这里插入图片描述

问题引入

当我们创建一个类的对象以后,我们可以通过"对象 . 属性"的方式,对对象进行赋值.这里,赋值操作要受到属性的数据类型和存储范围的制约.除此之外没有其他制约条件.但是,在实际问题中,我们往往需要给属性赋值加入额外的限制条件.这个条件不能在属性声明时体现,所以我们只能通过方法进行限制条件的添加,同时我们需要避免用户通过"对象 . 属性"的方式,对对象进行赋值,则需要将属性声明为私有的,此时针对属性就体现了封装性.

例子: 保证动物腿个数正常
package lei1;
public class AnimalTest
{
 public static void main(String[] args)
 {
  Animal a1 = new Animal();
  a1.name = "小黄";
  a1.age = 1;
  a1.Setlegs(-6);
  a1.show();
  System.out.println(a1.Getlegs());
  a1.Setlegs(4);
  a1.show();
  a1.Getlegs();
  System.out.println(a1.Getlegs());
 }
}
class Animal
{
 String name;
 private int legs;
 int age;
 public void Setlegs(int l)
 {
  if(l >= 0 && l %2 ==0)
  {
   legs = l;
  }
  else
  {
   legs = 0;
  }
 }
 public int Getlegs()
 {
  return legs;
 }
 public void eat()
 {
  System.out.println("动物能吃东西");
 }
 public void show()
 {
  System.out.println("动物名字:"+name+","+"动物腿数:"+legs+","+"动物年龄:"+age);
 }
}

结果在这里插入图片描述
封装性的体现:
①我们将类的属性私有化(private),同时,提供公共的(public)方法来获取(get)和设置(set)此属性的值.
②不对外暴露的私有的方法.
③单例模式
权限修饰符:
①Java规定四种权限:private,缺省,protected,public
在这里插入图片描述
②4种权限可以用来修饰类及类的内部结构: 属性,方法,构造器,内部类
③具体的,四种权限都可以用来修饰类及类的内部结构: 属性,方法,构造器,内部类
修饰类只能用:public,缺省.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值