问答详情
源自:7-1 什么是 Java 中的封装

分享下笔记

package javaoop;
public class Opacity1 {
   /*
    * 封装性:类的信息隐藏在内部,不允许外部程序直接访问,而是通过类提供的方法实现对隐藏信息的访问和操作;
    *   好处:1:只能通过规定的方法访问数据
    *         2:隐藏类的实力细节,方便修改和实现
    *         
    *   步骤:1:修改属性的可见性--private
    *         2:创建getter或者setter对于用于属性的读写,也可以使用普通方法,但是不推荐;
    *         3:在getter或者setter中加入控制语句,合法性判断;
    * */
 static String name;
 private int age;
 private float height;
 
 static{
  name="anikin";
 }
 {
  age = 23;
  height =1.75f;
 }
 //  访问年龄值
 public int getAge(){
  return age;
 }
 // 访问身高值
 public float getHeight(){
  return height;
 }
 
 // 设置年龄之
 public void setAge(int newAge){
  if(newAge > 22){
   age = newAge;
  }else{
   System.out.println("你没有权限修改,因为你的年龄值小于22");
  }
 }
 
 // 设置身高
 
 public void setHeight(float newHeight){
  height = newHeight;
 }
 
 // 主函数入口
 public static void main(String[] args){
  Opacity1 test1 = new Opacity1(); 
  System.out.println("获得公开name值"+test1.name);
  System.out.println("获得私有age值"+test1.getAge());
  System.out.println("获得私有height值"+test1.height);
  System.out.println("****************************************");
  
  test1.name= "jack";
  System.out.println("修改公开name值"+test1.name);
  
  test1.setAge(12);
  System.out.println("修改私有age值"+test1.age);
  
  test1.setHeight(1.85f);
  System.out.println("修改私有height值"+test1.height);
 }
 
}

提问者:恋上天空的驴 2015-12-15 14:30

个回答

  • 天启之魂
    2015-12-15 14:59:53
    已采纳

    赞一个!加油!

  • _Jack_Han_
    2016-01-02 23:59:39

    最后的两条输出语句里面应该是test1.getAge

    ()和test1.getHeight()才对吧。

    test1.setAge(12);

      System.out.println("修改私有age值"+test1.age);

      test1.setHeight(1.85f);

      System.out.println("修改私有height值"+test1.height);

     }

    }



  • _Jack_Han_
    2016-01-01 22:04:09

    第51、52行代码,age和height都是getter语句,为什么第52行代码里的height没有写上get和()呢?

  • 芒种啊
    2015-12-18 09:46:05

    好棒!