封装详解

概念

该露的露,该藏的藏

  • 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。

封装(数据的隐藏)

  • 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。

记住这句话就够了:属性私有,get/set

println实现了方法的重载

意义

  1. 提高程序的安全性,保护数据

  2. 隐藏代码的实现细节

  3. 统一接口

  4. 系统可维护性增加

快捷键

输出内容.sout

 

 

alt+insert,选中Getter and Setter

 

选中要生成的选项,点击OK

 

方法自动生成

 

代码

//Java-零基础学习/src/oop/demo04/Student
package oop.demo04;

public class Student {

   //属性私有
   private String name;//名字
   private int id;//学号
   private char sex;//性别
   private int age;//年龄

   //提供一些可以操作这个属性的方法!
   //提供一些public的get、set方法

   //get 获得这个数据
   public String getName() {
       return this.name;
  }

   //set 给这个数据设置值
   public void setName(String name) {
       this.name = name;
  }

   public int getAge() {
       return age;
  }

   public void setAge(int age) {
       if (age > 120 || age < 0) {//不合法
           this.age = 3;
      } else {
           this.age = age;
      }
  }
}

/*
public static void main(String[] args) {
       Student s1 = new Student();

       s1.setName("秦疆");

       //方法名,参数列表
       System.out.println(s1.getName());

       s1.setAge(999);//不合法的
       System.out.println(s1.getAge());
   }
*/
//Java-零基础学习/src/oop/Application
package oop;

import oop.demo03.Pet;
import oop.demo04.Student;

//一个项目应该只存在一个main方法
public class Application {
   public static void main(String[] args) {
       Student s1 = new Student();

       s1.setName("秦疆");

       //方法名,参数列表
       System.out.println(s1.getName());

       s1.setAge(999);//不合法的
       System.out.println(s1.getAge());
  }
}
 
posted @   poiuyjoey  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示