码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-06-12 12:32:31      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:java 面向对象   面向   strong   生活   span   日常   ubunt   隐藏   ||   

一.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岁

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

标签:java 面向对象   面向   strong   生活   span   日常   ubunt   隐藏   ||   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!