java8安装与环境变量配置
choco
choco官网
安装命令:choco install jdk8
自动配置环境变量
IDEA
官网安装
java语法
注:由于默认具有cpp基础,所以和cpp极为相似的点我不会提及。
enum枚举
public enum PlayerType {
TENNIS("网球"),
FOOTBALL("足球"), //常量FOOTBALL也可以不赋值
BASKETBALL("篮球");
private String name;
PlayerType(String name) {
this.name = name;
}
}
实际上,枚举继承自ENUM类,编译时会补全
此外,比较时建议用==
,而不是equal()
,因为null==null
不会报错,而且==
会在编译期间检查类型匹配问题
继承
class test extends father{}
抽象类与抽象方法
- 前加abstrat的类无法构造对象
- 普通类不能包含抽象方法
- 抽象方法必须在子类里重构
abstract class Animal {
abstract void makeSound();
public void sleep() {
System.out.println("The animal is sleeping.");
}
}
class Dog extends Animal {
void makeSound() {
System.out.println("The dog barks.");
}
}
数据类型
- boolean 在编译时常常转为int
- byte 8字节数据,范围-128~127,常用于大量数据处理,如文件读写,网络传输
- char
- double
- float
float f1 = 3.14f; // 注意要在数字后⾯加上 f 表示这是⼀个 float 类型
float f2 = 1.23e-4f; // 科学计数法表示⼩数
- int
- long
final
final double PI = 3.14159265359;
表示常量- 表示⼀个不能被⼦类᯿写的⽅法。这在设计类时,确保某个⽅法的实现不会被⼦类修改时⾮常有⽤。
class Animal {
final void makeSound() {
System.out.println("动物发出声⾳.");
}
}
class Dog extends Animal {
// 错误: ⽆法覆盖来⾃ Animal 的 final ⽅法
// void makeSound() {
// System.out.println("狗吠叫.");
// }
}
- 表示⼀个不能被继承的类。这在设计类时,确保其不会被其他类继承时⾮常有⽤。String 类就是 final 的。
final class Animal {
void makeSound() {
System.out.println("动物发出声⾳.");
}
}
// 错误: 类型 Dog ⽆法继承 final 类 Animal
// class Dog extends Animal {
// void makeSound() {
// System.out.println("狗吠叫.");
// }
// }
finally
和 try-catch 配合使⽤,表示⽆论是否处理异常,总是执⾏ finally 块中的代码。
try {
int x = 10 / 0; // 抛出异常
} catch (Exception e) {
System.out.println("发⽣了异常:" + e.getMessage());
} finally {
System.out.println("finally 块被执⾏");
}
接口interface
抽象类是对类的抽象,是“是什么?”的问题,而接口是对方法的抽象,是“能做什么?”的问题。
具体见java接口
接口实现implements
public class MyThread implements Runnable {
public void run() {
// 线程执⾏的代码
}
}
import导入
instanceof
⽤于判断对象是否属于某个类型(class)
Person p = new Student();
if (p instanceof Person) {
System.out.println("p is an instance of Person");
}
if (p instanceof Student) {
System.out.println("p is an instance of Student");
}
声明本地方法native
本地⽅法是指在 Java 代码中声明但在本地代码(通常是C 或 C++ 代码)中实现的⽅法,它通常⽤于与操作系统或其他本地库进⾏交互。
public native void nativeMethod();
null
与空指针异常息息相关
注释
- 单行
//deqwd
- 多行
/* */
- 文档注释
/** */
可使用javadoc命令根据文档注释生成项目文档
注释规约
- 类、字段、方法必须使用文档注释,不能使用单行注释和多行注释。因为注释文档在 IDE 编辑窗口中可以悬浮提示,提高编码效率。
- 所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释、除了返回值、参数、 异常说明外,还必须指出该方法做什么事情,实现什么功能。
- 所有的类都必须添加创建者和创建日期。
- 所有的枚举类型字段必须要有注释,说明每个数据项的用途。
- 代码修改的同时,注释也要进行相应的修改。