CS-Notes/notes/Java 基础语法.md

141 lines
3.5 KiB
Markdown
Raw Normal View History

2018-02-20 10:40:05 +08:00
<!-- GFM-TOC -->
2018-02-22 22:54:49 +08:00
* [????](#????)
2018-02-20 10:40:05 +08:00
* [ final](#-final)
2018-02-22 22:54:49 +08:00
* [????????](#????????)
* [???????](#???????)
* [????](#????)
2018-02-20 10:40:05 +08:00
* [Set](#set)
* [Queue](#queue)
* [Map](#map)
2018-02-22 22:54:49 +08:00
* [????](#????)
* [??](#??)
* [?<3F><>?????](#?<3F><>?????)
2018-02-20 10:40:05 +08:00
<!-- GFM-TOC -->
2018-02-22 22:54:49 +08:00
# ????
2018-02-20 10:40:05 +08:00
## final
2018-02-22 22:54:49 +08:00
**final ????**
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
??????????????????????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
????????????final ???????????????????final ????<3F><>?????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
**final ????**
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
????????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
private ?????????????? final????????????<3F><>?????????????<3F><>???? private ????????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
**final ??**
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
????????????<3F><>?
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
## ????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
static ??????????????????????????????????????????????????<3F><>??????????????????????
2018-02-20 10:40:05 +08:00
```java
2018-02-22 22:54:49 +08:00
public static String staticField = "???????";
2018-02-20 10:40:05 +08:00
```
2018-02-22 22:54:49 +08:00
static ????? static ???????????????????????????<3F><>?????????????????????????????<3F><>????
2018-02-20 10:40:05 +08:00
```java
static {
2018-02-22 22:54:49 +08:00
System.out.println("??????????");
2018-02-20 10:40:05 +08:00
}
```
2018-02-22 22:54:49 +08:00
??????????????????????????????????????????????
2018-02-20 10:40:05 +08:00
```java
2018-02-22 22:54:49 +08:00
public String field = "????";
2018-02-20 10:40:05 +08:00
```
```java
{
2018-02-22 22:54:49 +08:00
System.out.println("???????");
2018-02-20 10:40:05 +08:00
}
```
2018-02-22 22:54:49 +08:00
????????????<3F><>???????<3F><>????
2018-02-20 10:40:05 +08:00
```java
public InitialOrderTest()
{
2018-02-22 22:54:49 +08:00
System.out.println("??????");
2018-02-20 10:40:05 +08:00
}
```
2018-02-22 22:54:49 +08:00
?????<3F><>??????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
1. ??????????????????<3F><>
2. ??????????????????<3F><>
3. ????????????<3F><>
4. ????????????
5. ????????????<3F><>
6. ????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
## ???????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
Java ??????????????????<3F><>???private??protected ??? public???????????????<3F><>???????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
???????????<3F><>???????????????????????????<3F><>??????????????????????<3F><>?????????????????<3F><>????????????????????????????????????????????<3F><>??????????????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
protected ???????<3F><>???????????????<3F><>????????????????????????????<3F><>?????????????<3F><>???????<3F><>???????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
# ????
2018-02-20 10:40:05 +08:00
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/114c49a6-72e3-4264-ae07-c564127094ac.png)
2018-02-22 22:54:49 +08:00
??????????? Collection ?? Map ?????Collection ??????? List??Set ??? Queue??
2018-02-20 10:40:05 +08:00
## Set
2018-02-22 22:54:49 +08:00
- HashSet????? Hash ???????????????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
- TreeSet?????????????????????????<3F><>????? HashSet??
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
- LinkedListHashSet?????? HashSet ?????<3F><>?????????????????????????????????????????
2018-02-20 10:40:05 +08:00
## Queue
2018-02-22 22:54:49 +08:00
???????????LinkedList ?? PriorityQueue?????? LinkedList ????????<3F><>?
2018-02-20 10:40:05 +08:00
## Map
2018-02-22 22:54:49 +08:00
- HashMap????? Hash ???
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
- LinkedHashMap???????????????????????????????????LRU?????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
- TreeMap?????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
- ConcurrentHashMap??????? Map?????<3F>p???????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
# ????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
?????????? **Class** ??????????????<3F><>???????????????????????????????????? .class ??????????????????? Class ????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
????????? Class ?????????????????????????????? JVM ?<3F><>???????? Class.forName('com.mysql.jdbc.Driver.class') ????????????????????<3F><>?????????? Class ????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
???????????????????????????????????????????????????????????????????? .class ???????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
Class ?? java.lang.reflect ???????????????java.lang.reflect ???????? **Field**??**Method** ??? **Constructor** ????????? get() ?? set() ???????????? Field ???????????<3F><>???????? invoke() ?????????? Method ???????????????????? Constructor ??????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
IDE ??<3F><>???????????????????????????????????????????<3F><>??????????????????<3F><>???????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
# ??
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
Throwable ????????????<3F>ʦ<EFBFBD>???????????????????????**Error** ?? **Exception**?????? Error ??????????????????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
Exception ????????**?????** ?? **???????**???????????? try...catch... ???????<3F><>??????????????<3F><>?????????????????????????????? 0 ?????? Arithmetic Exception???????????????????????
2018-02-20 10:40:05 +08:00
![](https://github.com/CyC2018/InterviewNotes/blob/master/pics/48f8f98e-8dfd-450d-8b5b-df4688f0d377.jpg)
2018-02-22 22:54:49 +08:00
# ?<3F><>?????
2018-02-20 10:40:05 +08:00
2018-02-22 22:54:49 +08:00
- Eckel B, ????? , ??? , ?? . Java ?????? [M]. ??<3F><>????????? , 2002.
- [Java ????????? ](https://segmentfault.com/a/1190000004527951)