Java 学习笔记(二)
· 506 words · 3 min
- Java 是一门强类型的静态语言,编译器(compiler)提供了最佳的安全保障。
- Java 的跨平台性能良好(Windows、Linux、macOS),JVM(Java Virtual Machine)打通了不同平台和 Java 之间的桥梁,这种中间层语言为 bytecode (字节码),Java > bytecode > 机器码,一处编译,处处运行。
- class 类是 Java 中的最小单位,一般放在与类同名的 .java 文件中,文件名与类名不一致 IDEA 会报错。
- 类名其实是由包名决定的。
- 每个 class 类都有对应的包名,一般包名称需要遵守社区约定,与域名反序,例如
com.alibaba.fastjson
,目录结构是 /src/main/java/com/alibaba/fastjson
。
- 放在 Java 目录下的类称为默认类,一般不会有顶部的 package 声明。
- maven 的项目结构约定为
src/main/java
以及 src/test/java
。
- JVM 中,不存在简单的类名这种概念,所有的类名都会是复杂的带包名的类名(即全限定类名,full qualified classname,FQCN)以避免冲突。JVM 可以允许在不冲突的情况下使用简单的类名。
- 当一个 class 类放在
java.lang
包下时,其他类使用的时候可以不必在顶部 import。
- 局部变量的作用域是在当前的花括号内有效的,类似于 JavaScript 的块级作用域。
- 静态成员变量指存在于 class 中的常量,不和任何对象相绑定。成员变量也是 class 中的常量,是和 class 相绑定的。
- class 中任何静态的方法都不能访问 class 构造出的实例上的属性或者方法的。
- class 中没有声明 constructor 的时候,编译器会自动生成无参构造器。
- class 中可以存在多个构造器,构造器本质是特殊的方法。
- Java 中有数据类型分为原生类型以及引用类型。类似于 JavaScript,基础类型数据存在于栈内存中,引用类型数据存在于堆内存中,栈内存中存储的是堆内存地址。