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教程中的核心知识点主要涉及Java的基本数据类型、引用类型、常用包、对象的内存分配以及字符串操作。下面将对这些内容进行详细的阐述。 1. **基本数据类型与引用类型** - Java的基本数据类型包括布尔型`...
- **注意事项**:如果类中包含基本类型字段或引用类型字段,应该分别比较这些字段的值。 - **finalize()方法** - **功能**:当对象不再被任何引用指向时,垃圾回收器在对象被回收之前会调用此方法。这是一个不...
### Java常用包 #### java.applet - **用途**: 包含了一些用于创建Java小应用程序的类。这些类主要用于早期Web浏览器中的插件开发,随着HTML5的发展,这类应用已逐渐减少。 #### java.awt - **用途**: 提供了一组...
`ObjectCompares` 类似于这样的工具,它提供了一个方便的方式来深度比较两个引用类型的实例,确保它们的属性和字段值都完全一致。 `ObjectCompares` 类可能包含以下功能: 1. **深度比较**:此工具能够递归地遍历...
这段代码展示了如何通过克隆对象内部的引用类型对象来实现深克隆。 #### 三、`Comparable<T>` 接口 `Comparable<T>` 接口用于实现对象的自然排序,即按照某种逻辑顺序对对象进行比较。通常用于需要排序的情况,...
在JavaScript编程中,数组是一种非常常用的复合数据类型,用于存储有序的元素集合。对于数组的克隆,就是创建一个新的数组,使得新数组中存储的元素与原数组中的元素完全相同,但是它们属于不同的引用,即两个数组是...
- `clone()` 方法默认浅拷贝,对于对象内的引用类型,默认复制的是引用而不是实际的对象。 - **equals(Object obj)方法** - **功能**:比较引用类型的等价性。 - **等价标准**: - 默认情况下,`equals()` 方法...
克隆可以用于创建对象的深拷贝,即复制对象及其引用的所有属性。 以上内容详细介绍了Java常用类库的一些核心组件和使用方法,包括字符串处理、数值计算、日期时间操作、系统交互以及对象复制等方面。熟练掌握这些...
8. JavaSE常用API:包括Math类的round方法、switch语句对不同数据类型的支持、数组和String的length()方法、String、StringBuilder、StringBuffer的区别及使用场景等。 9. Java的数据类型:Java的基本数据类型有...
它不仅对面向对象编程和Java SE基础进行了详细介绍,还包含Java语法、多态、异常处理、常用API以及数据类型等内容。 面向对象特性是Java语言的核心概念,它包括封装、继承、多态和抽象。封装是通过把对象的属性和...
然而,这些方法都只适用于浅拷贝,即如果数组中包含引用类型(如对象),则修改克隆后的对象属性会影响到原始数组中的对象。对于这种情况,需要进行深拷贝,可以使用`JSON.parse()`和`JSON.stringify()`组合方法,但...
**分布式特性**:在Git中,每个开发者的工作副本实际上是一个完整的版本库的克隆,这意味着所有历史提交都在本地可用。这种设计让开发者可以在没有网络的情况下继续工作,并在方便时再将本地更改推送到中心仓库。 *...
通过创建一个新的事件类型并手动触发,可以在不相关的部分之间传递信息,就像克隆一个信号一样。 7. **EventTarget接口**:所有DOM元素都实现了EventTarget接口,这意味着它们可以触发、监听和传播事件。通过这个...
每种类型有不同的内存占用大小,而String不是基本数据类型,而是引用类型。 ### String与字符编码 char类型变量可以存储中文字符,但要注意字符编码(如UTF-8)。 ### Java中的日期和时间 Java中有多种处理日期和...
数组是Java中最常用的数据结构之一,尤其适用于需要频繁访问相同类型数据的场景。 --- 以上内容总结了Java基础知识点汇总中的一些核心概念,涵盖了变量的存储位置、泛型的基础、静态变量的应用场景、克隆机制以及...
基本数据类型与引用类型是Java中的两类不同类型的变量,基本类型直接存储值,引用类型存储的是对象的地址。 对象的克隆是指创建一个现有对象的副本,Java提供了clone()方法来实现。数组的复制可以通过System....
#### 三、表复制与克隆 1. **`DataTable.Copy()`** 复制当前表及其所有数据,生成一个新的`DataTable`对象。 2. **`DataTable.Clone()`** 仅复制表结构而不包含任何数据,生成一个空的新表。 #### 四、数据...
在Go语言中,别名声明是一种提议的特性,旨在提供一种更加灵活的方式来引用已有类型,而不会创建新的类型。让我们深入探讨一下这个主题。 1. **别名声明(Alias Declarations)** 在Go语言的标准版本中,并不直接...
- `String`类型不属于基本数据类型,它是一个引用类型,可以存储字符串。 3. **整型溢出**: - `short`类型数据在进行算术运算时可能会发生溢出,例如`short s1=1; s1=s1+1;`是错误的,而`s1+=1;`则正确。 在...
这些接口和类是Java基础类型操作的核心,涵盖了基本数据类型的包装、线程的创建和执行、对象的克隆和数学计算等。 - Appendable接口是可添加字符序列的对象应该实现的一个接口,它包含如append(char)和append...