• JAVA面向对象:三大特征 封装讲解


    一.JAVA封装


    1.封装的理解

    封装是 JAVA 面向对象思想的 一 种特性,也是一种信息隐蔽的技术

    2.封装的原则

    将类中的某些信息隐藏起来,来防止外部程序直接访问,通过类中的方法实现对隐藏的信息调用和访问,使用对应的 get 和  set 方法。

    3.封装的优点

        隐藏信息,有利于数据安全性

        举个例子,我们日常生活中的插座,如果没有封装外壳直接使用零线火线的话会比较危险,加上外壳封装之后使用起来既方便又安全

        调压着只需调用,无需了解实现过程

    4.通过private 关键词声明使用

        //案例

       public class  Student{

       String name;//姓名

       int age;//年龄

    }


    上面定义了一个Student类,下面写一个Student01类进行测试


      public class Student01{

      public static void main(String[] args){

      //创建Student类型的对象

       Student s = new Student();

       System.out.println(s.age);//这里输出结果为0,因为没有设置值

       

        p.age = -10;//这个地方的数据不合理, 因为年龄都是整数,负数年龄怎么可能出来丫~

    }

    }


    上面的Student01中人的年龄出现了-10,这显然是一个不合法的数据,所以应该将Student类中的age隐藏起来,不能让外界直接访问,需要使用private修饰符将age进行封装。


     class Student{

      private String name;

       private int age;

    }

      //添加了private修饰之后,外界无法直接访问age了

      //这时候需要提供两个办法供外界访问即set方法和get发放

      //对外提供两个公开的方法

      //set 赋值

      public void setAge(int agea){

      //安全控制

       if(agea<0 ||  agea>120){

      System.out.println("年龄不合法");

      return;  //返回值

    }

        age = agea;//这里把agea赋值给age

    }

      //get 读取获取

    public int getAge(){

        return age;

    }

    public void setName(String namea){

      name = namea;

    }

    public String getName(){

      return name;

    }

    }


    //创建测试类

      public class Student02{

      public static void main(String[] args){

      //创建Student类型对象

      Student s = new Student();

      s.setName("小董");

      s.setAge(23);

      System.out.println("大家好,我叫"+s.setName);

      System.out.prinln("我今年的年龄"+s.set.Age+"岁");

    }

    }

    输出结果为

    大家好,我叫小董

    我今年的年龄23岁

  • 相关阅读:
    parallel desktop ubuntu从18.04更新到20.04(包括安装Parallels Tools)
    一段奇怪的R代码
    ipynb(jupyter notebook)的git管理的比较好的方式
    对比jupyterlab和jupyter notebook
    dotfiles的管理
    macvim报出一些奇怪的错误: macvim只能从命令行启动
    CSS3学习笔记(三、选择器-续)
    CSS3学习笔记(二、选择器)
    CSS3学习笔记(一、CSS介绍、语法、引入方式)
    HTML学习笔记(四、body内常用标签)
  • 原文地址:https://www.cnblogs.com/DongXianSen/p/13098430.html
Copyright © 2020-2023  润新知