java知识点总结(==和equals,对象克隆clone等)

1、Java常用包

n       java.applet:包含一些用于创建Java小应用程序的类。

n       java.awt:包含一些用于编写与平台无关的图形界面(GUI)应用程序的类。

n       java.io:包含一些用作输入输出(I/O)处理的类。

n       java.lang:包含一些Java语言的基本类与核心类,如String、Math、Integer、System和Runtime,提供常用的功能,这个包中的所有类是被隐式导入的。

n       java.net:包含用于建立网络连接的类,与java.io同时使用完成与网络有关的读写。

n       java.util:包含一些实用工具类和数据结构类。


2、 "=="和"equals"的用法

n       在Java中,boolean、byte、short、int、long、char、float、double这八种是基本数据类型,其余的都是引用类型。

n       “==”是比较两个变量的值是否相等,“equals”是比较两个对象变量所代表的对象的内容是否相等。


3、String和StringBuffer

   String为final类,不能从它派生新类。

   针对String的“+”和“+=”,是Java中唯一被重载的操作符;在Java中,不允许程序员重载操作符。

n       String类对象一个常量对象。创建后值不能被修改,所以也没有实现clone方法。

n       在处理大量字符串的程序中,我们通常用StringBuffer来替代String。

n       StringBuffer不能使用String的“+”和“+=”操作符,而用append()方法来添加数据元素。append()方法的返回值仍然是StringBuffer对象,所以可以这样连续添加数据:sb.append(x).append(y).append(z)… 使用toString把StingBuffer对象转化为String对象。

n       StringBuffer初始化为16个character,然后根据实际要求自增,当然也可以在初始化时使用intlength定义初始长度。

n       StringBuffer常用的方法:capacity(), charAt(), delete(), deleteCharAt(), insert(),reverse(). 更多方法参照JDK。


4、函数调用

n       在Java中,传参时,都是以传值的方式进行。

n       对于基本数据类型,传递的是数据的拷贝;对于引用类型,传递的引用的拷贝。


5、对于不需要使用的对象,可以将其赋值为null,使其成为垃圾内存回收。


6、建议所有的子类都override toString()方法。


7、对象克隆(clone)

n       为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。

n       在派生类中覆盖基类的clone()方法,并声明为public。切记clone()返回为Object类型,需要进行强制转换。

n       在派生类的clone()方法中,调用super.clone()。

n       在派生类中实现Cloneable接口。Cloneable接口没有定义任何抽象方法,实现该接口只是通知系统该对象支持clone,这样的接口我们称之为“标识接口”。

n       为什么我们在派生类中覆盖Object的clone()方法时,一定要调用super.clone()呢?在运行时刻,Object中的clone()识别出你要复制的是哪一个对象,然后为此对象分配空间,并进行对象的复制,将原始对象的内容一一复制到新对象的存储空间中。

n       注意区分“浅拷贝”和“深拷贝”。“浅拷贝”仅是对象中基本数据类型的clone;“深拷贝”还涉及对象中引用类型的clone。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gohands/archive/2008/04/02/2245323.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值