以下内容来源于:《JAVA核心技术卷1:基础知识》。
第三章 Java基本结构
1.Java中表示常量使用final,而不是const
2.Java中表示字符串与其它的变量的拼接时,不需要类似c#中那样将其它变量转化为字符串(.ToString()),而是直接相加就行,自动转化。
3.Java中字符串是不可变的,这点和C语言形成对比。
4.Java中字符串的比较使用equals函数。不使用==。
5.Java中字符串尽量使用CodePoint相关的方法,char相关的除非要探究低级,否则不用。根本原因在于一个代码点可能由多个代码单元表示。
6.构建字符串:StringBuilder类
7.Java不能在嵌套的两个块中声明同名变量,这点和cpp不同。
8.Java大数运算:BigInteger和BigDecimal,运算不能使用运算符,因为运算符没有重载。
9.如果希望将一个数组的量拷贝到新的数组中去,要使用Arrays类的copyOf方法。
第四章 Java的类
1.Java中一个对象变量仅仅是引用了一个对象,类似于cpp中的指针:
1 | Date birthday;//java |
等同于:
1 | Date* birthday;//cpp |
2.每一个类中可以定义一个main方法,用于单元测试。
3.Java中不能传递引用&,只能值调用(p115),一个类中的方法可以改变对象中的属性,但对于对象使用的不是引用调用。
4.Java中存在初始化块,在构造一个对象时就会自动执行,在构造器之前执行:
1 | { |
对类中静态域的初始化:可以用静态初始化块,在类第一次加载时就被运行:
1 | static |
例如,一个没有main函数的HelloWorld:
1 | public class Hello |
5.Java导入包,例如导入java.util,从而使用其中的类:
1 | import java.util.*; |
只能用import导入一个包。对应的类需要放在基目录下的java\util中。
将类放入包中,需要在类的开头写:package “包的名字”,如:
1 | package com.horstmann.corejava; |
对应地,该类的.java和.class需要放在基目录下的com\horstmann\corejava中。