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岁

原文地址:https://www.cnblogs.com/DongXianSen/p/13098430.html