java建構函式修飾符

來源:互聯網
上載者:User

標籤:

今天看了劍指offer中的第二章-面試需要的基礎知識,對其中的一段C#面試代碼,比較感興趣,想著能否給改成java,結果沒改成,出現了問題,本文是針對這一點來總結一下,下面是C#與java代碼,但是在eclipse環境下,java代碼如此改寫,編譯器提醒建構函式有問題,究其原因,問題是由java的建構函式前的存取修飾詞public與特殊修飾符static所導致的。

java 建構函式,可以被存取修飾詞修飾,而不能被特殊修飾符修飾;(在編譯器經過測試)

存取修飾詞: public (最常用,其他類的任何位置都可以訪問)                 

                  protected(能夠在同一包中被子類訪問)

                  什麼都不寫,""(能夠被同一包裡的類訪問)

                  private(經常使用的單例模式中)

特殊修飾符: static (靜態) final(最終) abstract(抽象) synchronized(同步) 這些都不能夠放在建構函式前使用                 

 1 class A{ 2      public A(String text){ 3           console.writeln(text); 4      } 5 } 6  7 class B(){ 8      static A a1=new A("a1"); 9      A a2=new A("a2");10 11      static B(){12           a1=new A("a3");13      }14      15      public B(){16           a2=new A("a4");17      }18 }19 class Program{20      B b=new B();21 }
View Code
 1 public class A {     2     public  A(String aStr){ 3         System.out.println("A 建構函式 初始化:"+aStr); 4     } 5 } 6  7 class B { 8     static A a = new A("a1"); 9     A aa = new A("a2");10 11     static B() {12         a = new A("a3");13     }14 15     public B() {16         aa = new A("a4");17     }18     public static void main(String[] args) {19         B b=new B();20     }21 }
java View Code

 

java建構函式修飾符

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.