Java基礎系列之一
Java基礎系列之一
Java的四個基本特性
Java的四個基本特性是抽象、封裝、繼承、多型。
Object類及其方法實現
Object的方法有:
構造方法:
Object( )
用來獲取類的本身的資訊的:
public final Class<?> getClass() protected Object clone( ) throws CloneNotSupportedException
和比較相關的:
public boolean equals ( Object obj) public int hashCode( )
和執行緒相關的:
public final void wait( ) throws InterruptedException public final void wait(long timeout ) throws InterruptedException public final void wait(long timeout , int nanos) throws InterruptedException public final void notify( ) public final void notifyAll() protected void finalize( ) throws Throwable
下面簡略寫寫每一個類的作用,只做簡述,不去深究。
—> Object( )
構造方法,用來構造一個新的Object物件。
—>protected Object clone( ) throws CloneNotSupportedException
克隆方法,呼叫這個方法,可以返回一個當前物件的克隆物件,但是這個物件的類必須實現Cloneable介面,透過複寫clone()方法,實現對克隆的自定義。
—>public boolean equals ( Object obj)
指示一些其他物件是否等於此。用來比較兩者是否一致,並非比較地址是否一致,使用 == 的比較,在對於物件來說,用來比較地址是不是一樣。
—>public int hashCode( )
返回這個物件的hash碼。
—>protected void finalize( ) throws Throwable
當垃圾收集確定不再有對該物件的引用時,垃圾收集器在覆蓋了這個方法的類的物件上呼叫該物件。如果一個類沒有對這個方法複寫,那麼不會呼叫這個方法,而直接執行垃圾回收。
—>public final Class<?> getClass()
返回這個類的型別的物件,也就是說,每一個類都可以透過這個方法,生成一個Class的物件,這個物件的屬性來自於呼叫這個方法的物件。
—>public final void wait( ) throws InterruptedException
—>public final void wait(long timeout ) throws InterruptedException
—>public final void wait(long timeout , int nanos) throws InterruptedException
某個物件呼叫這個方法,使當前執行緒等待,直到其他執行緒呼叫了該物件的該物件的notify()方法或notifyAll()方法,並且線上程間的競爭中獲勝,才能恢復執行。
關於引數
timeout是時間引數,經過了指定的時間,即使沒有被通知,這個執行緒也會自動繼續執行。
在第三個方法中,指定時間是timeout (微秒) + nanos (納秒);
—>public final void notify( )
—>public final void notifyAll( )
這是透過某一個物件來喚醒啟用的執行緒的方法。
這兩個啟用執行緒的方法的區別在於,notifyAll向全體在該物件上等待的執行緒發出訊號,然後競爭得出可執行的執行緒。notify則是隨機選擇一個執行緒,使其從阻塞狀態變到執行狀態。
基本資料型別與引用資料型別
八個基本資料型別
char 字元型
byte 位元組型
short 小整數
int 整數
long 大整數
float 浮點型
double 雙精度
boolean 布林型
它們的裝箱變數:
Character 字元型
Byte 位元組型
Short 小整數
Integer 整數
Long 大整數
Float 浮點型
Double 雙精度
Boolean 布林型
除了Boolean 和 Character 以外的所有物件都來繼承Number這個父類。
1 |
public abstract class Number extends Object implements Serializable
|
這個類實現了Serializable這個介面,這個介面的作用是,可序列。也就是說,實現了這個介面,就有了主觀或者是客觀上的大小,也就是說,可以排序了。
這個介面內有三個方法,都需要被實現。
需要注意的點
byte型別的範圍是 -128 ~ 127,對byte的127進行i++操作,則會變成-128。
如果不指明型別,預設的整數型別是int型,小數是double型。
暫時只能想到這些。
finally vs final vs finalize
finally:是用在try-catch-finally的結構中的。
final:是一個修飾符。<這個很重要>
既可以用來修飾變數:被final修飾的變數為常量,不可再被更改。
也可以用來修飾方法:被final修飾的方法,在子類中不再可以被複寫。
還可以用來修飾類:被final修飾的類,不再可以被繼承。
finalize:是一個Object類中的方法,方法簽名是:
1 |
protected void finalize( ) throws Throwable
|
簡單的說一下這個的作用
當垃圾收集確定不再有對該物件的引用時,垃圾收集器在覆蓋了這個方法的類的物件上呼叫該對方法。如果一個類沒有對這個方法複寫,那麼不會呼叫這個方法,而直接執行垃圾回收。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/506/viewspace-2819597/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Swoole 系列基礎之一(多程式)
- Java基礎系列—Java反射Java反射
- Java基礎系列-LambdaJava
- Java基礎系列-OptionalJava
- Java基礎系列-RandomAccessJavarandomMac
- Java基礎系列—字串Java字串
- Gradle for Android系列之一 Gradle基礎GradleAndroid
- Java基礎系列—List排序Java排序
- Java Web系列:JDBC 基礎JavaWebJDBC
- java基礎之一:基本資料型別Java資料型別
- java基礎學習之一:物件和類Java物件
- Java基礎系列:瞭解ArrayListJava
- Java Web系列:Hibernate 基礎JavaWeb
- Java Web系列:Java Web 專案基礎JavaWeb
- mybatis基礎之一MyBatis
- Java面試系列:Java面試題基礎系列228道(上)Java面試題
- Java基礎系列-substring的原理Java
- Java Web系列:Spring Boot 基礎JavaWebSpring Boot
- Java Web系列:Spring Security 基礎JavaWebSpring
- Java Web系列:Spring MVC基礎JavaWebSpringMVC
- Java 基礎學習系列一 —— Java 主要特性Java
- 夯實Java基礎系列1:Java物件導向三大特性(基礎篇)Java物件
- Java基礎系列-Java8 Stream 簡明教程Java
- Java 面試-吊打面試官系列 Redis 基礎Java面試Redis
- Java基礎系列-二進位制操作Java
- Java基礎系列-Comparable和ComparatorJava
- Java基礎系列(七):物件與類(下)Java物件
- Java基礎系列-SPI你認識嗎Java
- Java基礎知識系列—序列化Java
- JVM 內部原理(六)— Java 位元組碼基礎之一JVMJava
- JVM系列之一 JVM的基礎概念與記憶體區域JVM記憶體
- Microsoft .Net Remoting系列專題之一:.Net Remoting基礎篇ROSREM
- 【Java面試】Java面試題基礎系列212道(上)Java面試題
- 6-Java基礎語法-陣列之一維陣列Java陣列
- Java基礎系列-equals方法和hashCode方法Java
- Java Web系列:Spring依賴注入基礎JavaWebSpring依賴注入
- 病毒基礎系列
- PHP實戰系列之一:0基礎開發移動端報名功能PHP