A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈振兴 中级黑马   /  2012-7-4 11:44  /  1685 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈振兴 于 2012-7-8 10:31 编辑

昨晚看TCP/IP视频的时候听到毕老师说到"复杂事物的封装",我不能理解“复杂事物”的封装?是接口,类,还是其它?
我理解9种Wrapper类中的,都遵循String类的对象池和不变模式的规则。最好给我个例子,或者抽象一个事物我就能理解了。
我把Wrapper的贴出来,好像有的人不知道这个知识点!
(1).对象池(9个,8个基本类型Wrap+String)(两种模式适用于8个基本类型)
  String s1 = "hehe";(首先在对象池里面找)
  String s2 = "hehe";
  String s3= new String("name");(生成新的对象)
  System.out.println(s1==s2);true        (在同一个对象池里)
  System.out.println(s1==s3);false        (一定意味着s3是新的字符串对象)
  
  直接给出字符串,字符串对象在对象池里面拿,如果有直接拿,如果没有就创建。
  对数面试题有:String s1 = new String("hehe");创建了几个对象?
  在J2SE中2个。
  在J2ME中1个,没有对像池概念。
  (2)不变模式:
  一个字符串对象创建后它的值就不能在被改变,直到当垃圾回收时。
  String s1 = "hello";(它的值是没改变的)
  s1=s1+",world";(两个字符串对象连接)改变的是他的指向,没改变值
  如果频繁改值,会产生垃圾,不建议使用。
   StringBuffer字符串缓冲

评分

参与人数 1技术分 +1 收起 理由
蒋映辉 + 1

查看全部评分

2 个回复

正序浏览
韦念欣 发表于 2012-7-4 12:15
楼主对字符串的理解蛮不错的。

其实复杂事物很多,例如录音机是一个事物。

哎,不错啊!明白了,可以理解为匿名内部类的形式就行了!谢谢
对于这几句话,我还要融汇:
比较面向过程的思想和面向对象的思想:
面向过程的思想:由过程、步骤、函数组成,以过程为核心;
面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。
面向过程是先有算法,后有数据结构。
面向对象是先有数据结构,然后再有算法。
共同学习吧!
回复 使用道具 举报
本帖最后由 韦念欣 于 2012-7-4 12:22 编辑

楼主对字符串的理解蛮不错的。

其实复杂事物很多,例如录音机是一个事物。
它由各种器件组成,什么电路板,电线,电机,齿轮,磁头,而这些东西你是看不到的,被封装在录音机里面了。
你在操作录音机的时候,不可能去操作他的齿轮,电线,你操作的只是各种按钮(外部接口),这样就可以操作它录音了。
这样就是对复杂事务的封装。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马