2006-07-28 Java的常用包,"=="和"equals"的用法,基本数据类型与引用类型,对象的克隆
2006-07-28 11:18
1016 查看
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实现。
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实现。
相关文章推荐
- Java第五课 Java的常用包,"=="和"equals"的用法,基本数据类型与引用类型,对象的克隆。
- java程序设计--孙鑫java无难事Lesson5《java常用包、数据类型与引用类型、函数参数传递、克隆机制》
- JAVA中基本数据类型的引用与对象赋值的区别
- Java基本数据类型&引用类型总结
- java基础教程:常用对象之基本数据类型包装类(23)
- java基本数据类型,String、Integer等类型,Class三种对象引用的箭头,即箭头是怎么指的?
- Java集合不能存放基本数据类型,只存放对象的引用
- Java集合不能存放基本数据类型,只存放对象的引用
- JAVA IO分析二:字节数组流、基本数据&对象类型的数据流、打印流
- java中基本数据类型与对象引用类型的默认初始化值学习
- java 引用数据类型实现 对象的克隆
- JAVA学习第三十二课(常用对象API)- 基本数据类型对象包装类
- java能像JavaScript那样,直接对基本类型的数据,像对待对应的对象那样,引用相应对象里的属性吗?
- Java数据类型(基本数据类型和引用数据类型)
- 4 java final 变量 | 变量即是final 又是static | 引用类型与基本数据类型 | Exception相关
- Java学习之基本数据类型和引用数据类型区别
- 黑马程序员-JAVA基础-基本数据类型对象包装类
- Java之基本类型和引用类型、引用传递和值传递、“==”和equals()
- java和C++互调----(传递基本数据类型和对象)
- java基本数据类型和引用数据类型的调用传递的区别