java8学习

发布时间 2023-09-08 23:06:06作者: adamaik

java8安装与环境变量配置

choco

choco官网

image
安装命令: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{}

抽象类与抽象方法

  1. 前加abstrat的类无法构造对象
  2. 普通类不能包含抽象方法
  3. 抽象方法必须在子类里重构
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.");
	}
}

数据类型

  1. boolean 在编译时常常转为int
  2. byte 8字节数据,范围-128~127,常用于大量数据处理,如文件读写,网络传输
  3. char
  4. double
  5. float
float f1 = 3.14f; // 注意要在数字后⾯加上 f 表示这是⼀个 float 类型
float f2 = 1.23e-4f; // 科学计数法表示⼩数
  1. int
  2. long

final

  1. final double PI = 3.14159265359;表示常量
  2. 表示⼀个不能被⼦类᯿写的⽅法。这在设计类时,确保某个⽅法的实现不会被⼦类修改时⾮常有⽤。
class Animal {
final void makeSound() {
System.out.println("动物发出声⾳.");
 }
}
class Dog extends Animal {
// 错误: ⽆法覆盖来⾃ Animal 的 final ⽅法
// void makeSound() {
// System.out.println("狗吠叫.");
// }
}
  1. 表示⼀个不能被继承的类。这在设计类时,确保其不会被其他类继承时⾮常有⽤。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

与空指针异常息息相关

注释

  1. 单行//deqwd
  2. 多行/* */
  3. 文档注释/** */
    可使用javadoc命令根据文档注释生成项目文档

注释规约

  1. 类、字段、方法必须使用文档注释,不能使用单行注释和多行注释。因为注释文档在 IDE 编辑窗口中可以悬浮提示,提高编码效率。
  2. 所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释、除了返回值、参数、 异常说明外,还必须指出该方法做什么事情,实现什么功能。
  3. 所有的类都必须添加创建者和创建日期。
  4. 所有的枚举类型字段必须要有注释,说明每个数据项的用途。
  5. 代码修改的同时,注释也要进行相应的修改。