黑马程序员技术交流社区

标题: 有关java的三大特征之封装 [打印本页]

作者: 虾米吃螃蟹    时间: 2015-6-29 16:49
标题: 有关java的三大特征之封装
本帖最后由 虾米吃螃蟹 于 2015-6-29 16:51 编辑

请问java的封装是否就是指通过用private来完成?
  1. public class Array {
  2.         public static void main(String[] args) {
  3.                 Buffer bu=new Buffer();
  4.                 bu.score();
  5.         }
  6. }
  7. class Buffer
  8. {
  9.         int [] arr = {25,24,12,76,101,96,28};
  10.         public void score ()
  11.         {
  12.                 for (int i = 0; i < arr.length-1; i++) {
  13.                         for (int j = 0; j < arr.length-i-1; j++) {
  14.                                 if (arr[j]>arr[j+1]) {
  15.                                         int temp = arr[j];
  16.                                         arr[j]=arr[j+1];
  17.                                         arr[j+1]=temp;
  18.                                 }
  19.                         }
  20.                 }
  21.                 for (int i = 0; i < arr.length; i++) {
  22.                         System.out.print(arr[i]+" ");
  23.                 }
  24.         }
  25. }
复制代码
或者是如上面这段代码中,把要实现的功能新建一个类,然后在main方法中对其进行调用?


作者: xwdxiaoda    时间: 2015-6-29 16:55
本帖最后由 xwdxiaoda 于 2015-6-29 16:59 编辑

封装就是将属性私有化,提供公有的方法访问私有属性。 做法就是:修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问。 如:private String name;
public String getName(){            
        return name;            }      
  public void setName(String name){         
            this.name=name;            }

作者: fanxin_meng    时间: 2015-6-29 17:05
把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。 属性私有化是一方面,还有就是外部调用方法但是没有必要知道方法实现的细节
作者: 虾米吃螃蟹    时间: 2015-6-29 17:11
xwdxiaoda 发表于 2015-6-29 16:55
封装就是将属性私有化,提供公有的方法访问私有属性。 做法就是:修改属性的可见性来限制对属性的访问,并 ...

是否是说用private对属性进行修饰,在main中调用。也就是我的问题两个合在一起就是封装?
作者: 虾米吃螃蟹    时间: 2015-6-29 17:13
fanxin_meng 发表于 2015-6-29 17:05
把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。 属性私有化是一方 ...

理解了,谢谢
作者: xwdxiaoda    时间: 2015-6-29 17:16
虾米吃螃蟹 发表于 2015-6-29 17:11
是否是说用private对属性进行修饰,在main中调用。也就是我的问题两个合在一起就是封装? ...

不是这样
作者: xwdxiaoda    时间: 2015-6-29 17:19
你看一下百度百科 http://baike.baidu.com/link?url=kSZKBcBgqALLWVVzzVu9nbQDvhhjIrSaWF2STG7KepdAH3jtxocgM6NAKrGwJ4cifRD12yx33jpPOaNYs8YQja
作者: xwdxiaoda    时间: 2015-6-29 17:20
封装百度百科
作者: JJJD    时间: 2015-6-29 20:32
fanxin_meng 发表于 2015-6-29 17:05
把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。 属性私有化是一方 ...

学习啦。谢谢!
作者: Nemo    时间: 2015-6-29 20:37
private只是封装的一种方式而已,比如还有包啊什么的都算是封装啊
作者: 虾米吃螃蟹    时间: 2015-6-30 15:51
Nemo 发表于 2015-6-29 20:37
private只是封装的一种方式而已,比如还有包啊什么的都算是封装啊

谢谢,刚刚入门,要学的还很多
作者: 为明天而奋斗    时间: 2015-6-30 17:20
还有好多不懂,还得好好学哦
作者: 虾米吃螃蟹    时间: 2015-6-30 22:16
为明天而奋斗 发表于 2015-6-30 17:20
还有好多不懂,还得好好学哦

确实,基础很重要
作者: 虾米吃螃蟹    时间: 2015-6-30 22:17
Nemo 发表于 2015-6-29 20:37
private只是封装的一种方式而已,比如还有包啊什么的都算是封装啊

谢谢~~~:)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2