java分割句子_关于Java的一些句子
java分割句子
本文沒(méi)有新內(nèi)容。 我只是收集了一些瑣碎的語(yǔ)句,對(duì)于某些初級(jí)程序員來(lái)說(shuō),這可能并非瑣碎。 無(wú)聊的舊東西。
如果您發(fā)生了所有這些事情,那么您對(duì)Java的了解將比普通的家庭妻子要多。 我不知道是否有必要了解所有這些內(nèi)容。 如果您不了解其中某些功能,則可以成為一名相當(dāng)不錯(cuò)的Java程序員。 但是,本文中的許多新信息可能表明您還有發(fā)展空間。
有4種不同的保護(hù)類(lèi)型
在Java中(不是三個(gè))。 這些是private ,打包的私有的, protected和public 。 如果您在類(lèi)中定義元素時(shí)未指定任何保護(hù)修飾符,則它將被包裝為私有(而不是公共且不受保護(hù))。
Java有四個(gè)保護(hù)級(jí)別。
另一方面,如果您未在接口的方法聲明前指定保護(hù)修飾符:它將是公共的。 您可以將其指定為顯式public但是它對(duì)Java沒(méi)有影響,SONAR不會(huì)像您這樣做。
保護(hù)是傳遞性的
我對(duì)Java的看法是,這是技術(shù)錯(cuò)誤,它允許您有選擇地在接口的方法前面編寫(xiě)public 。
同樣,您可以在接口中字段的前面,甚至是static ,寫(xiě)final 。 這可能暗示它們可能是非靜態(tài)的或非最終的:不正確。 接口的字段是final和static。 總是。
受保護(hù)和私有包不一樣
程序包私有(或默認(rèn))保護(hù)將允許同一程序包的其他類(lèi)訪(fǎng)問(wèn)方法或字段。 受保護(hù)的方法和字段可以在同一包中的類(lèi)中使用(到目前為止與私有包相同),此外,還可以從擴(kuò)展包含受保護(hù)的字段或方法的類(lèi)的其他類(lèi)中使用受保護(hù)的方法和字段。
受保護(hù)是可傳遞的
如果有三個(gè)包a , b和c ,每個(gè)包含一個(gè)已命名的類(lèi)A , B和C使得B延伸A和C延伸B那么類(lèi)C可以訪(fǎng)問(wèn)的受保護(hù)的字段和方法A 。
package a;public class A {protected void a() {} } package b;import a.A;public class B extends A {protected void b() {a();} } package c;import b.B;public class C extends B {protected void c() {a();} }接口無(wú)法定義受保護(hù)的方法
許多人認(rèn)為您還可以在接口中定義protected方法。 在對(duì)程序進(jìn)行編程時(shí),編譯器可以快速而殘酷地使它變得顯而易見(jiàn):您不能。 順便說(shuō)一句:這就是為什么我認(rèn)為在接口中允許public關(guān)鍵字是一個(gè)技術(shù)錯(cuò)誤:它使人們認(rèn)為它也可能是其他東西。
私人就是新的公眾
如果要在接口中聲明一個(gè)protected方法,則可能不了解封裝。
私人不是那么私人
專(zhuān)用變量和方法在編譯單元內(nèi)部可見(jiàn)。 如果聽(tīng)起來(lái)太神秘了:在同一Java文件中(幾乎)。 這比“在定義它們的類(lèi)中”要多。 從同一編譯單元中的類(lèi)和接口也可以看到它們。 內(nèi)部類(lèi)和嵌套類(lèi)可以看到私有字段和將它們圍起來(lái)的類(lèi)的方法。 但是,封閉類(lèi)也可以看到它們封閉到任何深度的類(lèi)的私有方法和字段。
后者并不廣為人知。 事實(shí)上,它很少有用。
私有不是課程級(jí)別的對(duì)象
如果可以訪(fǎng)問(wèn)變量或方法,則無(wú)論它屬于哪個(gè)對(duì)象,都可以訪(fǎng)問(wèn)它。 如果this.a是可訪(fǎng)問(wèn)的則another.a也接近假定another是同一個(gè)類(lèi)的實(shí)例。 屬于同一類(lèi)實(shí)例的對(duì)象可以互相愚弄變量或方法。 雖然很少有這樣的代碼。 現(xiàn)實(shí)生活中的異常是equals() (由Eclipse第15和18行生成):
package a;public class PrivateIsClass {private Object object;@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;PrivateIsClass other = (PrivateIsClass) obj;if (object == null) {if (other.object != null)return false;} else if (!object.equals(other.object))return false;return true;} }靜態(tài)類(lèi)可能有很多實(shí)例
保護(hù)不是對(duì)象級(jí)別。 這是班級(jí)的。
不應(yīng)具有任何實(shí)例的類(lèi)通常稱(chēng)為實(shí)用程序類(lèi)。 它們僅包含靜態(tài)字段和靜態(tài)方法,并且唯一的構(gòu)造函數(shù)是私有的,不會(huì)從該類(lèi)的任何靜態(tài)方法中調(diào)用。 在Java 8中,您可以在接口中實(shí)現(xiàn)這種野獸,因?yàn)镴ava 8接口中可以包含靜態(tài)方法。 我不相信我們應(yīng)該使用該功能而不是實(shí)用程序類(lèi)。 我并不完全相信我們應(yīng)該完全使用實(shí)用程序類(lèi)。
靜態(tài)類(lèi)始終位于另一個(gè)類(lèi)(或接口)中。 它們是嵌套類(lèi)。 它們是靜態(tài)的,就像靜態(tài)方法無(wú)法訪(fǎng)問(wèn)類(lèi)的實(shí)例方法和字段一樣,靜態(tài)嵌套類(lèi)也無(wú)法訪(fǎng)問(wèn)嵌入類(lèi)的實(shí)例方法和字段。 這是因?yàn)榍短最?lèi)沒(méi)有對(duì)嵌入類(lèi)實(shí)例的引用(如果需要,可以使用指針)。 與嵌套類(lèi)相反,內(nèi)部類(lèi)是非靜態(tài)的,沒(méi)有嵌入類(lèi)的實(shí)例就無(wú)法創(chuàng)建。 內(nèi)部類(lèi)的每個(gè)實(shí)例都有對(duì)嵌入類(lèi)的一個(gè)實(shí)例的完全引用,因此內(nèi)部類(lèi)可以訪(fǎng)問(wèn)嵌入類(lèi)的實(shí)例方法和字段。
因此,如果沒(méi)有周?chē)?lèi)的實(shí)例,就無(wú)法創(chuàng)建內(nèi)部類(lèi)。 如果這是當(dāng)前對(duì)象(也稱(chēng)為this ,則無(wú)需指定它。 在這種情況下,您可以編寫(xiě)new ,在這種情況下,它只是this.new的簡(jiǎn)寫(xiě)形式。 在靜態(tài)環(huán)境中,例如從靜態(tài)方法中,您必須指定內(nèi)部類(lèi)應(yīng)使用哪個(gè)封閉類(lèi)實(shí)例創(chuàng)建內(nèi)部類(lèi)。 參見(jiàn)第10行:
package a;class Nesting {static class Nested {}class Inner {}void method(){Inner inner = new Inner();}static void staticMethod(){Inner inner = new Nesting().new Inner();} }匿名類(lèi)只能訪(fǎng)問(wèn)最終變量
變量必須有效才能最終
當(dāng)在方法內(nèi)部定義匿名類(lèi)時(shí),它可以訪(fǎng)問(wèn)局部變量(如果它們是最終變量)。 但這是含糊的。 他們必須被宣布為final并且他們也必須是有效的決賽。 這是Java 8中的一點(diǎn)發(fā)布。您無(wú)需將此類(lèi)變量聲明為final但它們?nèi)员仨毷怯行У膄inal。
Java 8不需要最終的,只有有效的最終
無(wú)論如何,為什么必須要聲明final,所以為什么要聲明final。 像方法參數(shù)一樣。 他們也必須是決賽。 您說(shuō)這不是Java的要求嗎? 好吧,你是對(duì)的。 這是良好風(fēng)格編程的要求。
翻譯自: https://www.javacodegeeks.com/2014/11/some-sentences-about-java.html
java分割句子
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的java分割句子_关于Java的一些句子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电脑C盘变红内存不足电脑C盘变红怎么办
- 下一篇: java与java ee_Java EE