成员属性封装

42 篇文章 0 订阅

成员属性封装
在类之中的组成就是属性与方法,一般而言方法都是对外提供服务的,所以不会进行封装处理,而对于属性由于需要较高的安全性,所以需要保护,进行采用封装对属性保护。

class Person{  //定义一个类
    String name;  //人员的姓名
    int age ;  //人的年龄
    public void tell(){
    System.out.println("姓名:"  + name + ",年龄:" + age);     
         }
    }
    public class JavaDemo{     //主类
    public  static void main (String args[]{
    Person per = new Person ();  //声明并实例化对象
    per.name = "张三“;//在类外部修改属性
    per.age = 18;     //在类外部修改属性
    per.tell();     //进行方法的调用
    }

无封装处理,外部可以直接调用。为解决这一问题,使用private关键字对属性封装处理

 class Person{  //定义一个类
     private String name;  //人员的姓名
     private int age ;  //人的年龄
     public void tell(){
     System.out.println("姓名:"  + name + ",年龄:" + age);     
          }
}
     public class JavaDemo{     //主类
     public  static void main (String args[]{
     Person per = new Person ();  //声明并实例化对象
     per.name = "张三“;//在类外部修改属性
     per.age = 18;     //在类外部修改属性
     per.tell();     //进行方法的调用
     }

运行结果
报错,无法访问private的属性
属性封装外部无法访问。对外部不可见,但是,对类内部是可见的。

外部想访问封装属性Java开发标准
设置或取得属性使用setXxx(),getXxx()方法

 class Person{  //定义一个类
     private String name;  //人员的姓名
     private int age ;  //人的年龄
     public void tell(){
     System.out.println("姓名:"  + name + ",年龄:" + age);     
          }
          public void setName(String n){
                name = n;
}
          public void setAge(int a){
          if (a>=0){
            age = a;         //年龄>0
            }
          }    
          public String getName(){
             return name;
          }
          public int getAge(){
             return age;
          }

 }
     public class JavaDemo{     //主类
     public  static void main (String args[]{
     Person per = new Person ();  //声明并实例化对象
     per.setName ( "张三");//在类外部修改属性
     per.setAge (18);     //在类外部修改属性
     per.tell();     //进行方法的调用
     }

类中所有属性必须使用private封装,属性提供访问需要的setter和getter方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小东子李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值