常用包,引用类型,克隆

1.java常用包
java.applet:包含一些用于创建Java小应用程序的类。
java.awt:包含一些用于编写与平台无关的图形界面(GUI)应用程序的类。
java.io:包含一些用作输入输出(I/O)处理的类。
java.lang:包含一些Java语言的基本类与核心类,如String、Math、Integer、System和Runtime,提供常用的功能,这个包中的所有类是被隐式导入的。
java.net:包含用于建立网络连接的类,与java.io同时使用完成与网络有关的读写。
java.util:包含一些实用工具类和数据结构类。

2.== 和equals的区别
在Java中,boolean、byte、short、int、long、char、float、double这八种是基本数据类型,其余的都是引用类型。  --- String 和数组都是引用类型!
“==”是比较两个变量的值是否相等,“equals”是比较两个对象变量所代表的对象的内容是否相等。
string是引用类型,所以==比的是变量中 所存的地址是否相同;
当我们声明一个引用类型变量时,系统只为该变量分配了引用空间,并未创建
一个具体的对象;当用new为对象分配空间后,将对象的引用赋值给引用变量。
针对String的“+”和“+=”,是Java中唯一被重载的操作符;在Java中,不允许程序员重载操作符。在处理大量字符串的程序中,我们通常用StringBuffer来替代String。

3.StringBuffer
String是个常量,the value can not be changed.   
StringBuffer -- 可以对同一块内存进行操作,可以被修改,不会造成内存浪费!
StringBuffer()默认容量是16 characters,超过了之后系统会自动增加;
StringBuffer(int n)
StringBuffer.Delete(4,8); //删除部分串,位置:4<=substr<8

4.num=null;  //使引用失效,变成垃圾内存,让jvm回收;
5.main函数。main由JVM调用,所以是public的;调用它的时候不用产生任何对象,所以是static的;
JVM也无需返回值;
参数是个String[]类型的;
args 是用来接收命令行参数的; 如 java StringTest weixin mybole
6.在Java中,传参时,都是以传值的方式进行。
对于基本数据类型,传递的是数据的拷贝;对于引用类型,传递的引用的拷贝。
所以数组和对象作为参数进行change操作能够成功改变实际内容!
7.对象的克隆(clone)
使用方法时如果不想改变引用对象本身时,可以用clone
为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。
在派生类中覆盖基类的clone()方法,并声明为public。
在派生类的clone()方法中,调用super.clone()。
在派生类中实现Cloneable接口。
Cloneable --- 表示接口,没有抽象方法,仅仅是为了告诉该对象可以克隆了。
克隆分深克隆和浅克隆
8.对于Arrays.sort()对类对象数组的排序,该类必须实现Comparable接口
return num>s.num ? 1 : (num==s.num ? 0 : -1); //问号表达式,大于返回1,=返0,<返-1;在类中重写compareTo()方法,实现对象之间的比较







你可能感兴趣的:(java,数据结构,.net,网络应用)