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

java基础(6)面向对象编程(2)

时间:2017-09-14 12:06:39      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:地址   字典顺序   回收   bsp   指定   ...   内容   调用   3.1   

1.String对象的声明和操作

字符串无处不在,使用String来构造,并存储字符串,

例:

常用:String  str  = “abc”;

不常用:String  str = new String(“abc”);

PS:

String  s= "abc";

String s1 = "abc";

s==s1=true;(==号判断地址是否一致,equals判断内容是否一致);

s.equals(s1)=true;

使用new关键字创建字符串,就会在字符串池中创建2个地址,内容一样,两者地址不同,

String s=new String ("abc");

String s1= new String ("abc");

s==s1=false;(==号判断地址是否一致,equals判断内容是否一致);

s.equals(s1)=true;

String对象是不可变的,

类中每一个看来会修改String值的方法,其实都是创建了新的String对象(包含修改后的字符串内容),

String的只读性带来效率优化可能

字符串字面值存储于字符串池中,String对象优先指向该字符串池,避免反复生成重复的字符串实例,

系统对String 的非修改处理效率很高,远远超过另外两个字符串类StringBuffer和StringBuilder

2.String对象的常用方法

--length()--返回此字符串的长度

--charAt(int  index)--返回指定索引处的char值。

--concat(String str)  --将指定字符串连接到此字符串的结尾

--contains(CharSequence s)--是否包含指定的字符串序列

--equals(Object anObject ) --将此字符串与指定的对象比较

--compareTo(String anotherString ) --按字典顺序比较两个字符串

--indextOf(int ch)  --返回指定字符在此字符串中第一次出现的索引

--split(String regex)  -- 根据匹配给定的正则表达式来拆分此字符串

--substring(int beginIndex) --截取字符串

--toLower/upperCase() -- 将指定字符串进行大小写转换

等等...

3.面向对象的优点

3.1便于程序模拟现实世界中的实体

用“类”封装建模实体对象的状态和行为

3.2隐藏细节

对象的行为和状态被封装在类中,外界通过公共的接口--来调用类的方法来获得状态信息,不需要关注内部细节如何实现,

3.3可重用

通过类模版,可创建多个对象事例,重用类的定义代码

4.java对象的内存管理机制

使用new创建对象,在堆内存分配对象空间、初始化

在方法栈中定义局部变量,持有对堆内存中对象的引用

方法执行完返回,栈内存自动释放,局部变量销毁

如果堆内存中对象没有变量引用它,成为垃圾,由垃圾回收器回收,释放所占堆内存!

 

java基础(6)面向对象编程(2)

标签:地址   字典顺序   回收   bsp   指定   ...   内容   调用   3.1   

原文地址:http://www.cnblogs.com/zhengfangqing/p/7519616.html

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