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

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创建对象,在堆内存分配对象空间、初始化

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

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

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

 

转载于:https://www.cnblogs.com/zhengfangqing/p/7519616.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值