面向对象特征—封装

面向对象语言的三大特征

  • 封装

  • 继承

  • 多态

面向对象语言中的封装: 指的是通过访问权限修饰符,使得类中的信息是否对外可见(隐藏类中的信息)

封装的好处:

  • 只能通过规定方法访问

  • 隐藏类的实现细节

  • 方便加入控制语句

  • 方便修改实现

package day2;
public class Person {
     //封装使用案例  使用private这个权限修饰符对成员变量进行修饰,在其他类中访问不到了
     private  String name;
     private   int age;

     /*为封装起来的成员变量,提供一个特定的公共权限的方法,用来为其赋值,方便我们自己加入一些控制语句
       name属性赋值。这样主动权在于我们自己,别的类直接访问成员方法,不用访问成员变量
      */
     public void setName(String name){
         if(name!=null&&name.length()<10){
             this.name = name;
         }
     }
     //获取name属性值
     public String getName(){
          return  this.name;
     }

     public void setAge(int age){
           this.age = age;
     }
     public int getAge(){
         return this.age;
     }
}
package day2;
public class TestPerson1{
    public static void main(String[] args) {
         Person zs = new Person();
         zs.setName("zs");
        System.out.println(zs.getName());
    }
}

单类设计模式:解决只让一个类在一个进程中创建一个唯一的对象

package day2;
public class Person {
     //封装使用案例  使用private这个权限修饰符对成员变量进行修饰,在其他类中访问不到了
     private  String name;
     private   int age;
     private static Person person=null;

    //把构造方法设置私有权限
     private Person(){
     }

     public static  Person createPerson(){
           if(person==null){
               person = new Person();
           }
         return   person;
     }
}
package day2;
public class TestPerson2{
    public static void main(String[] args) {
         Person zs1 = Person.createPerson;
         Person zs2 = Person.createPerson;//此时person不为空
       	 System.out.println(zs1);
         System.out.println(zs2);//输出和上面的一样
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值