第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

有兩個(gè)疑惑:

有兩個(gè)疑惑:

1. Dimension和Toolkit都是類,為什么這段代碼可以不用new?2. 為什么寫成Dimension di=Toolkit.getScreenSize();這樣提示不能從靜態(tài)上下文中引用非靜態(tài)方法,但是加上getDefaultToolkit()這個(gè)方法其實(shí)也是靜態(tài)類型的???
查看完整描述

2 回答

?
江戶川亂折騰

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊

不需要用new是因?yàn)間etScreenSize實(shí)例方法內(nèi)部已經(jīng)根據(jù)屏幕的尺寸new好了一個(gè)Dimension類的對象,只需要返回這個(gè)對象就行了。

前面已經(jīng)提到了getScreenSize是一個(gè)實(shí)例方法,更準(zhǔn)確地講它是類Toolkit的一個(gè)實(shí)例方法,所以必須通過一個(gè)Toolkit類的對象才能調(diào)用這個(gè)方法。
而getDefaultToolkit是類Toolkit的一個(gè)靜態(tài)方法(所以通過類名.方法名的形式調(diào)用),這個(gè)方法會(huì)返回一個(gè)類Toolkit的對象,再通過這個(gè)返回的對象就可以調(diào)用getScreenSize了。

所以,不能通過Toolkit.getScreenSize來調(diào)用getScreenSize方法,因?yàn)樗皇庆o態(tài)方法需要通過一個(gè)類Toolkit的實(shí)例來調(diào)用,而靜態(tài)方法getDefaultToolkit就可以返回一個(gè)類Toolkit的實(shí)例。

查看完整回答
反對 回復(fù) 2022-10-16
?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

首先,Dimension di=Toolkit.getDefaultToolkit().getScreenSize();這個(gè)引用方法是正確的引用方法。

你的疑問有三個(gè).

第一,為什么可以不用new,因?yàn)樵诘玫揭粋€(gè)實(shí)體對象除了new外,也可以通過方法返回一個(gè)實(shí)體對象。在上面那條語句里就是getScreenSize()這個(gè)方法,至于getScreenSize()方法里是怎么創(chuàng)建Dimension 對象的,你不需要關(guān)心,這就是封裝的一種。


第二,為什么Toolkit.getScreenSize();不能直接引用,因?yàn)檫@個(gè)方法不是靜態(tài)方法

這個(gè)方法必須使用一個(gè)實(shí)體類去引用,而getDefaultToolkit()方法才是一個(gè)靜態(tài)方法,他可以通過類名+方法名直接引用,作用就是返回一個(gè)Toolkit的實(shí)體類。

之后就可以用這個(gè)實(shí)體類去調(diào)用非靜態(tài)方法了。分解一下代碼你就能看明白了。

第三,為什么一個(gè)抽象類可以直接被引用。

抽象對象和接口是可以被引用和實(shí)例化的,只是不能通過new自己來進(jìn)行實(shí)例化,首先這點(diǎn)要弄清楚。

抽象類和接口,可以通過方法,或者new他的非抽象子類來進(jìn)行實(shí)例化,之后使用方法就和普通類是一樣的了。

而調(diào)用靜態(tài)方法只需要類名或者接口名就可以了,在java8里還增加了default關(guān)鍵字來定義默認(rèn)方法體,接口也可以有自己的方法體了。


查看完整回答
反對 回復(fù) 2022-10-16
  • 2 回答
  • 0 關(guān)注
  • 374 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號