JAVA語法彙總(三)
此篇文章記錄異常處理 列舉 反射 註解 IO流 泛型的一些體會 內容可能不全,但是歡迎同仁們過來看看,有可能會讓你想起一些遺忘的事務
丟擲異常
throw用於方法括號裡 throws用於方法體或者程式碼塊中
如何處理throw丟擲的異常物件
自己捕獲異常 即是用try ctch語句處理
將異常丟擲後給別人(即是呼叫者)處理
那個人也有兩種方式 一是try' catch語句
二是throws接著將異常上拋(上拋給jvm)
什麼時候只能看檢查時異常???
檢查時異常用throw丟擲必須用try catch處理
而執行時異常則不用
throw丟擲執行時異常不需要加throws
F5 F6 F7 F8在eclipse除錯中
先進入debug模式中
f5是進入當前方法
f6是執行下一行程式碼
f7退出方法
f8進入下一個斷點
log4j
列舉
1.構造方法只能是private
2.列舉中可以定義抽象方法,但是列舉物件必須實現這些抽象方法
Colors [] colors=Colors.values();
for(Colors color:colors) {
System.out.println(color.getName()+color.getId());
this不能用在靜態中!!!
jvm在執行中,對於任何一個類,都能知道他的所有屬性與方法;
對於任何一個物件,都能呼叫它的屬性與方法,是一個動態呼叫物件的方法
反射就是把java類中的種種成分對映為一個個java物件 如成員變數 方法 構造方法 包
其中變數用field表示 方法用method 建構函式用constructor
一 。
Class是反射的入口!! 封裝了一個個類的資訊 呼叫其物件獲取更多
PS:該類不可被繼承 因為被final修飾 該類的構造方法是private 不能通過new來建立!
通常用forname獲取class
1.Class clazz =forname("abc.Student")
2.Class clazz=Student.class
兩種方式獲取
如果是基本資料型別 採取Integer Byte Long Short Double Float Boolean Character
如clazz=Integer.Type 即字尾加上type
ps:getName()是表示輸出全名
而 getClass()則是在已有物件時候往回撥用其內容
陣列對用的 通過【】來獲取class例項
如String[] name=new String[5]
Class clazz=String [].class
二。
獲取構造方法 分為4種
1.Constrctor [] constrctors=clazz.getConstroctors;
2.Constrctor [] constrctors=clazz.getCDeclaredonstroctors;
3.Constructor constructor=clazz.getConstructor();
4.Constructor constructor=clazz.getDeclaredConstructor(String.class)
區分好是返回一個還是所有 是返回public還是所有
ps:for迴圈的應用
Constructor [] constructors=clazz.getConstructoes();
for(Constructor constructor:constructors)
System.out.println(constructor.getName());
操作構造方法
即建立物件
常常應用 constructor.setAccessible(true)來忽視
用newInstance()來建立一個新物件
如:Object object=constructor.newInstance("xiaowang");
相當於上轉型物件
三。
獲取屬性
getField();getFields();
set設定屬性值
get獲取屬性值
如Field field=clazz.getField(name)
Student student=new Student()
field.set(student,xiaowang)
Object obj=field.get(student)
Java註解
SuppressWaring是無用的
cirl按進去註解檢視原始碼
自定義註解
eclipes自動跟蹤 兩套程式碼執行 一套定義反射 一套反射實現追蹤功能
default用於為註解屬性賦預設值,如果一個註解屬性沒有預設值,則使用該註解時必須為其賦值
如果屬性名為value,則可以直接賦值
內建註解
override不允許用在類上
java註解按照有無引數分為三種@Annotation
分別是不帶引數的,帶一個引數的,帶多個引數的!
自定義註解分為@Override註解 @Deprecated註解 @suppressWaring註解
SuppressWaring註解用於消除警告(比如deprecation標記的,比如unused,比如serial)
泛型用來約束能存放什麼型別的資料!
names.add(“2,王五")把他排到第三位!
iterator也是一種遍歷方式
Iterator <String> iterator=names.iterator();
while(iterator.hasNext()) {
String name=iterator.next();
System.out.println(name);
}
File有三個構造方法 mkdir只能建立一層沒有的資料夾
但是mkdirs卻可以建立多個資料夾!
delete只刪除最後一級!
File.Seperater表示斜線! 其相容性好,各個系統都能用
如"D:"+File.separator+"a"+File.separator+"b"
模組化開發!
相關文章
- Markdown 語法彙總
- 【Linq】常用語法彙總
- MySql 常用語法彙總MySql
- yum語法及常用命令彙總
- 談談ES6語法(彙總上篇)
- 談談ES6語法(彙總下篇)
- 談談ES6語法(彙總中篇)
- 2020年三、四月java面試題彙總Java面試題
- C語言知識彙總 | 00-C語言知識彙總目錄C語言
- Java 實現彙總排序Java排序
- c語言指標彙總C語言指標
- Java 常見問題彙總Java
- Java學習書籍彙總Java
- java面試彙總:JVM篇!Java面試JVM
- Go語言設計模式彙總Go設計模式
- MySql常用操作SQL語句彙總MySql
- java語法一Java
- Java基本語法Java
- HTML 語法總結HTML
- Java | 個人總結的Java常用API手冊彙總JavaAPI
- python 語法總結:Python語法快速入門Python
- JAVA語法糖和語法糖編譯Java編譯
- 區塊鏈名詞術語彙總區塊鏈
- Python語言高頻重點彙總Python
- 時序資料庫 TDengine SQL 查詢語法規則彙總,官方教程奉上!資料庫SQL
- JAVA語法基礎Java
- Java 基礎語法Java
- 英語第三單元詞彙卷
- Go彙編語法和MatrixOne使用介紹Go
- Java 10更新彙總,新的編譯器通吃主流程式語言Java編譯
- 學習筆記分享之彙編---2.彙編指令/語法筆記
- python 基礎語法(三)Python
- Go語言基礎語法總結Go
- Vagrant box 命令彙總彙總
- 三、java版 SpringCloud分散式微服務雲架構之Java 基礎語法JavaSpringGCCloud分散式微服務架構
- 《區塊鏈常用術語解釋》彙總區塊鏈
- 資料庫常用的sql語句彙總資料庫SQL
- Java9 新特性彙總——基於 JDK11 程式碼彙總。。。更新中JavaJDK