读《疯狂Java讲义》,随笔记录跟.NET不同之处或需要注意之处,以供翻阅。
第一章 Java语言概述
- 使用javac命令编译Java程序,使用java命令运行Java程序
- Java源文件的主文件名必须与该源文件中的public类同名,最多只能包含一个public类定义
第三章 数据类型和运算符
- 文档注释(以/**开始和*/结束)可以使用javadoc命令提取到API文档中
- Java 7新增的二进制整数,以0b或0B开头
第四章 流程控制与数组
- foreach语法为for(type variableName : array | collection)
- 使用Arrays类操作数组
第五章 面向对象(上)
- 允许使用对象来调用static属性或方法,推荐使用类名调用
- 形参个数可变的方法: public static void test(int a, String... books)相当于 public static void test(int a, String[] books),一个方法最多只能包含一个可变长度的形参且处于形参列表的最后。
- 访问控制符:默认default可用于同一个类及包中调用
- 在源文件头部使用package来组织类到包中,编译时按包生成文件夹结构;import引入类空间;import static引用类属性或方法。
- Java常用包:java包及其子包,如java.lang,无需import导入,系统自动导入。
- super关键字引用父类对象
- 初始化块:初始化块{}和静态初始化块static {},在构造器执行前执行,按父类到子类依次执行静态初始化块->初始化块->构造器。
第六章 面向对象(下)
- final关键字修饰变量、方法和类,使变量不能重新赋值、子类不能覆盖方法、类不能被继承,实现不可变类。 final成员变量必须显式赋值,系统不会隐式初始化。
- 继承使用extends关键字,实现接口使用implements关键字。
- 内部类:直供外部类访问,内部类使用“外部类名称.this.成员名”来访问外部类成员,外部类不能访问内部类成员。非静态内部类中不能有静态成员。非静态内部类:OuterClass.InnerClass varName = new OuterClass().new InnerClass();静态内部类:OuterClass.InnerClass varName = new OuterClass.InnerClass();
- 枚举类:values属性列举值,定义抽象方法,每个枚举值必须实现抽象方法。
浙公网安备 33010602011771号