---
aliases: []
tags:
- java
- base
- syntax
created: 2024-07-13 10:28:47
modified: 2025-10-20 21:41:36
---
# Java åºç¡è¯æ³ç¬è®°
---
## ç®å½
* [æ°ç»](#æ°ç»)
* [éå](#éå)
---
## base 模å
`java.base` 模åï¼å®ä¹ Java SE å¹³å°çåºç¡ APIã
è¿æ¨¡åå两个å
ï¼
* `java`ï¼Java è¯è¨åºç¡ APIï¼å
æ¬ `java.io`ã`java.nio`ã`java.lang`ã`java.util` ã`java.net` çåå
ã
* `javax`ï¼æä¸ä¸ªåå
ï¼`javax.crypto`ã`javax.net` å `javax.security`ã
---
## æ°ç»
---
## éå
[Java](Java_Note.md) éåç¸å
³çæ¥å£åç±»ï¼æ¯æ¾å¨ `java.base` è¿ä¸ªã模åãï¼moduleï¼ä¸ `java.util` å
ï¼Packageï¼ä¸ã
```mermaid
classDiagram
class Iterable{
<>
default void forEach(Consumer super T> action)
Interator inerator()
default Spliterator spliterator()
}
class Collection{
<>
boolean add(E e)
boolean addAll(Collection extends E> c)
void clear()
boolean contains(Object o)
boolean containsAll(Collection> c)
boolean isEmpty()
boolean remove(Object o)
boolean removeAll(Collection> c)
default boolean removeIf(Predicate super E> filter)
int size()
Object[] toArray()
T[] toArray(T[] a)
}
class Map{
<>
V put(K key,V value)
void putAll(Map extends K,? extends V> m)
V get(Object key)
default V getOrDefault(Object key, V defaultValue)
V remove(Object key)
default boolean remove(Object key, Object value)
default void forEach(BiConsumer super K, ? super V> action)
boolean isEmpty()
int size()
Collection values()
}
class SequencedCollection{
<>
default void addFirst(E e)
default void addLast(E e)
default E getFirst()
default E getLast()
default E removeFirst()
default E removeLast()
SequencedCollection reversed()
}
class List{
<>
}
class Set{
<>
}
class ArrayList{
}
class LinkedList{
}
class HashSet{
}
class AbstractMap{
boolean containsKey(Object key)
boolean containsValue(Object value)
V get(Object key)
boolean isEmpty()
Set keySet()
Collection values()
V put(K key,V value)
void putAll(Map extends K,? extends V> m)
V remove(Object key)
int size()
}
class HashMap{
}
Iterable <|-- Collection
Collection <|-- List
Iterable <|-- List
SequencedCollection <|-- List
List <|.. ArrayList
List <|.. LinkedList
Collection <|-- Set
Iterable <|-- Set
Set <|.. HashSet
Map <|.. AbstractMap
AbstractMap <|.. HashMap
```
`Collection` æ¥å£æ¯ `Iterable` æ¥å£ç忥å£ï¼ä¹å°±æ¯æå³ç `Collection` æ¥å£åå
¶ãååãæ¥å£é½æ¥æãè¿ä»£ãè½åã
### List
ä» [JDK21](Java_Note.md#JDK21) å¼å§ï¼`List` æ¥å£å¤äºä¸ä¸ªç¶æ¥å£ï¼`SequencedCollection`ã
`List` æ¥å£æä¾äºåç§ç¨äºæä½ç½®ï¼ç´¢å¼ï¼è®¿é®å表å
ç´ çæ¹æ³ã
* `get(int index)`ï¼éè¿ç´¢å¼è¿åå
ç´
* `getFirst()`ï¼è¿å List ä¸ç¬¬ä¸ä¸ªå
ç´ ï¼è¿æ¯ [JDK21](Java_Note.md#JDK21) æ°å ç
* `getLast()`ï¼è¿å List 䏿åä¸ä¸ªå
ç´ ï¼è¿æ¯ [JDK21](Java_Note.md#JDK21) æ°å ç
### Set
`Set` æ¯ç´æ¥ä¸æ°å¦ä¸çéåæ¦å¿µå¯¹åºçæ¥å£ã
> [!info]
>
> As implied by its name, this interface models the mathematical *set* abstraction.
> [!tip]
>
> [Python](../Python/Python_Note.md) ä¸ç [éå](../Python/Python_Syntax.md#éå) 就称为 `set`ã
`Set` æ¥å£ç¹æ§ï¼
* æ åº
* å
ç´ ä¸éå¤
### Map
---
## åå°
#refelect
Java å¨è¿è¡ç¶æä¸ï¼å¨æè·åç±»æå¯¹è±¡çä¿¡æ¯å卿è°ç¨å¯¹è±¡æ¹æ³çåè½ç§°ä¸º Java åå°æºå¶ã
Java åå°æºå¶è½å¤ç¥éç±»çåºæ¬ç»æï¼è¿ç§å¯¹ Java ç±»ç»æçæ¢ç¥è½åï¼ç§°ä¸º Java ç±»çãèªå®¡ãã
åå°ç¸å
³çç±»åæ¥å£ï¼
* `ClassLoader`ï¼ç±»å è½½å¨ç±»
* `Class`ï¼ç±»çç±»
* `Constructor`ï¼æé å¨ç±»
* `Field`ï¼ç±»çæååéç±»
* `Method`ï¼ç±»çæ¹æ³ç±»
* `Modifier`ï¼è®¿é®æéç±»
åå° API æ¯æ¾å¨ `java.lang.reflect` å
ä¸ã
### åå°åºç¨
éè¿åå°è·åç±»çä¿¡æ¯å两æ¥ï¼
1. è·å [Class](#Class%20ç±») 对象
2. éè¿ [Class](#Class%20ç±») 对象è·åä¿¡æ¯
#### Class ç±»
`Class` ç±»ï¼åå°ææçæä½åæ¯å´ç»æ¤ç±»æ¥çæçã
Java åå°æºå¶è·åä¸ä¸ªç±»ç Class å¯¹è±¡ï¼æä¸ç§è·åæ¹å¼ï¼
* 使ç¨å¯¹è±¡ç `getClass()` æ¹æ³
* éè¿ç±»ç `class` 屿§
* éè¿ `Class` ç±»çéææ¹æ³ `forName()`
---
## ç¸å
³ç¬è®°
* [Java ç¬è®°](Java_Note.md)
* [Java IO ç¬è®°](Java_IO_Note.md)
* [Java Log ç¬è®°](Java_Log_Note.md)
* [Java Web ç¬è®°](Java_Servlet_Note.md)
* [i++å++iåæ](i++å++iåæ.md)
* [Java èµææ¸
å](Java_Material.md)