開發日記(一)JAVA中變數初始化流程

ShanLiang_Build發表於2018-05-30

2017.09.15 多雲

今天起,把每天工作中遇到的問題,進行總結。 

先聊聊Public等關鍵字的作用域

這個是JAVA面試常考的知識點之一,一段時間不看,又忘了。


Java中的作用域可分為public、private、protected和不寫四種

其中不寫的情況一般稱為預設或者友元(friendly)


public修飾的類,變數及方法,包內、包外的任何類均可訪問

protected修飾的類,變數及方法,包內的任何類以及包外的那些繼承該類的子類才能訪問

private修飾的類,變數及方法,包內包外的任何類均不能訪問

在沒寫的情況下,就是預設型別,friendly。這個修飾下,包內的任何類都可以訪問它,包外的任何類都不能訪問它。


再談談建構函式

建構函式是一種特殊函式,其主要功能是用來在建立物件時初始化物件,即為物件成員變數附初始值。

建構函式與類名相同,可過載多個不同的建構函式。Java語言中稱之為構造方法。


構造方法和普通方法的區別

1 功能和作用不同

構造器是為了建立一個類的例項。可以給屬性做初始化。而普通方法僅僅是功能函式,為了執行java程式碼

2 修飾符,返回值和命名不同

與普通方法不同的是,構造器不能有以下非訪問性質的修飾:abstract,final,native,static或者synchronized

3 返回型別

方法必須要有返回值,可以設定void,但是構造器不需要返回值也不用void修飾

4 命名

構造器的名字要和類名相同

5 呼叫

構造方法只有在物件建立時才會呼叫,而且只呼叫一次

一般方法在物件建立後才可呼叫,可呼叫多次

6 “this”用法

構造器的this可以指向一個類中不同引數的構造器,且使用時必須放在第一行,不然會導致編譯錯誤

7 “super”用法

構造器中的super用於呼叫超類的構造器

8 繼承

構造器無法被繼承




相關文章