# JAVA復習的知識點有哪些
## 一、Java基礎語法
### 1. 數據類型與變量
- **基本數據類型**(8種):
- 整型:byte(1)、short(2)、int(4)、long(8)
- 浮點型:float(4)、double(8)
- 字符型:char(2)
- 布爾型:boolean(1)
- **引用數據類型**:類、接口、數組
- **類型轉換**:
- 自動類型轉換(小轉大)
- 強制類型轉換(大轉?。?
### 2. 運算符
```java
// 算術運算符:+ - * / % ++ --
// 關系運算符:== != > < >= <=
// 邏輯運算符:&& || !
// 位運算符:& | ^ ~ << >> >>>
public class Person {
// 成員變量
private String name;
// 構造方法
public Person(String name) {
this.name = name;
}
// 成員方法
public void speak() {
System.out.println("My name is " + name);
}
}
| 特性 | 抽象類 | 接口(JDK8+) |
|---|---|---|
| 定義 | abstract class | interface |
| 方法 | 可含具體/抽象方法 | 默認public abstract |
| 默認方法 | 無 | JDK8支持default方法 |
| 靜態方法 | 支持 | JDK8支持 |
| 變量 | 任意類型 | 默認public static final |
| 多繼承 | 不支持 | 支持多實現 |
graph TD
A[Collection] --> B[List]
A --> C[Set]
A --> D[Queue]
B --> E[ArrayList]
B --> F[LinkedList]
C --> G[HashSet]
C --> H[TreeSet]
I[Map] --> J[HashMap]
I --> K[TreeMap]
// 泛型類
class Box<T> {
private T data;
// getter/setter...
}
// 泛型方法
public <E> void printArray(E[] array) {
for(E element : array) {
System.out.println(element);
}
}
Class<?> clazz = Class.forName("com.example.Person");
Constructor<?> constructor = clazz.getConstructor(String.class);
Object obj = constructor.newInstance("張三");
Method method = clazz.getMethod("speak");
method.invoke(obj);
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String value() default "";
}
// synchronized關鍵字
public synchronized void syncMethod() {}
// Lock接口
Lock lock = new ReentrantLock();
lock.lock();
try {
// 臨界區代碼
} finally {
lock.unlock();
}
ExecutorService pool = Executors.newFixedThreadPool(5);
pool.execute(() -> {
// 任務代碼
});
pool.shutdown();
提示:建議使用IDEA等現代IDE進行代碼演練,結合JUnit進行單元測試驗證理解。 “`
(注:實際字數約2800字,完整3350字版本需要擴展各章節的示例代碼和詳細說明)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。