1-2.对象初始化与清理和字符串
2013-01-17 15:24
204 查看
1.Java类的构造方法
1.1 构造方法的定义
构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有;每个类可以有零个或多个构造方法,不能被static、final、synchronized、abstract和native修饰;构造方法不能被子类继承,构造方法可以被重载。1.2 构造方法的作用
初始化对象,初始化对象的属性。1.3 缺省构造方法
没有参数的构造方法。1.4 构造方法重载
默认的构造方法是无参数的,构造方法重载是参数列表不同。1.5 this关键字
this调用本类中的属性,也就是类中的成员变量;this调用本类中的其他方法;this调用本类中的其他构造方法,调用时要放在构造方法的首行。2.static关键字
2.1 static关键字
使用static关键字把成员声明为静态成员。2.2 静态成员的初始化过程
类的每个静态成员在内存中只有一份拷贝为该类的所有对象共享,所以静态成员只被初始化一次,在该类第一次被调用的时候初始化。2.2 非静态成员的初始化过程
该类每一次被调用的时候都初始化一次。3.垃圾回收机制
垃圾回收机制:垃圾回收机制的标准是对于已经丢弃的对象,垃圾回收有可能马上发现将回收,也有可能内存足够大的情况,并不会回收。程序员可以调用System.gc() 来显式的进行垃圾回收,Java 语言规范并不保证垃圾回收一定会执行或立即执行。4.finalize方法
finalize方法:每一个对象都有一个finalize( )方法,这个方法是从Object类继承来的,finalize( )方法用来回收内存以外的系统资源,就像是文件处理器和网络连接器。该方法的调用顺序和用来调用该方法的对象的创建顺序是无关的。换句话说,书写程序时该方法的顺序和方法的实际调用顺序是不相干的。每个对象只能调用finalize( )方法一次。如果在finalize( )方法执行时产生异常(exception),则该对象仍可以被垃圾收集器收集。5.字符串
String不是原始的数据类型,而是一个类,而且是一个final类,不能被继承。5.1 String类关键方法
public char charAt(int index)返回字符串中第index个字符;public int length()返回字符串的长度;
public int indexOf(String str)返回字符串中第一次出现str的位置;
public int indexOf(String str,int fromIndex)返回字符串从fromIndex开始第一次出现str的位置;
public boolean equalsIgnoreCase(String another)比较字符串与another是否一样(忽略大小写);
public String replace(char oldchar,char newChar)在字符串中用newChar字符替换oldChar字符
public boolean startsWith(String prefix)判断字符串是否以prefix字符串开头;
public boolean endsWith(String suffix)判断一个字符串是否以suffix字符串结尾;
public String toUpperCase()返回一个字符串为该字符串的大写形式;
public String toLowerCase()返回一个字符串为该字符串的小写形式;
public String substring(int beginIndex)返回该字符串从beginIndex开始到结尾的子字符串;
public String substring(int beginIndex,int endIndex)返回该字符串从beginIndex开始到endsIndex结尾的子字符串;
public String trim()返回该字符串去掉开头和结尾空格后的字符串;
public String[] split(String regex)将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组;
5.2 String类的不可变特性
String类对象被初始化赋值后,值将不再改变。5.3 StringBuffer与StringBuilder类的特征,与String的区别
5.3.1 StringBuffer与StringBuilder的特征
StringBuilder是线程非安全的,但是执行速度快;StringBuffer是线程安全的,但是执行速度稍慢。5.3.2 三者之间的区别
声明方式:StringBuilder和StringBuffer声明对象必须用new关键字,而String可不用。可变性:StringBuilder和StringBuffer对象的长度是可变的,可以动态扩展的,而String对象的长度不可变。
执行速度:StringBuilder > StringBuffer > String
交流探讨到我的新浪微博:http://weibo.com/tianrui1990
欢迎关注技术分享微信公众号:JavaQ
相关文章推荐
- 怎么通过一个字符串初始化一个对象
- 对象初始化与清理
- 6-2-1 字符串-字符串变量String-创建字符串变量-初始化字符串变量-字符串连接-输入字符串(单词、行)-对象变量的赋值-比较两个字符串是否同一个-比较两个字符串内容是否相同
- java基础---->对象的创建过程(初始化、析构、清理)
- C++编程入门系列之二十六(数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数)
- java编程思想 -- 对象的初始化和清理
- java基础---->对象的创建过程(初始化、析构、清理)
- JAVA编程思想读书笔记五(对象的初始化和清理)
- 第八章 多态 成员对象的清理工作。引用计数构造器内部多态行为,初始化(真)
- java读书笔记——对象的初始化与清理
- 建立一个存储和处理字符串的类DelCharStr。构造函数:动态申请存储字符串所需内存空间,并且即能用指定的字符串也能用默认的值0为所声明的对象进行初始化。
- Java对象创建和初始化过程,处理字符串的机制
- 字符串分割和对象初始化小实战
- 鸡啄米:C++编程入门系列之二十六(数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数)
- 二十六、数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数
- Java 对象初始化与清理
- 使用静态全局对象自动做初始化与清理工作
- c#关于int(或其他类型)的字段在对象初始化时默认初始化问题的解决方法
- 多线程之synchronized锁字符串对象的一个易错点
- Objective-C 2.0 with Cocoa Foundation---对象的初始化以及实例变量的作用域(3)