2017-04-06 35 views
-5

[我不明白這個基本的代碼,快樂的人幫助我。非常感謝大量] [1]爲什麼創建對象沒有「新」,我認爲這是真的,字體typeface = new Typeface();?[1]:https://i.stack.imgur.com/h9HqN.png

+1

你會得到負面反饋,因爲這是你可以研究自己。 –

+0

[Java構造函數和靜態方法]的可能重複(http://stackoverflow.com/questions/13803032/java-constructor-and-static-method) –

+0

不要發佈鏈接到包含您的代碼的外部網站。大多數SO用戶甚至不願意遵循該鏈接。而是在問題中正確粘貼你的代碼! –

回答

0

靜態方法可以直接通過點(。)運算符在Java中被調用,作爲createFromAsset是一個靜態方法它可以被稱爲這種方式

Typeface.createFromAsset(getAssets(), 
       "fonts/fontName.ttf"); 
+0

非常感謝你! –

0

createFromAssetstatic方法這就是爲什麼我們不需要使用new。我們可以使用class name & dot(.)運算符輕鬆調取。

public static Typeface createFromAsset(AssetManager mgr, String path) { 
    if (sFallbackFonts != null) { 
     FontFamily fontFamily = new FontFamily(); 
     if (fontFamily.addFontFromAsset(mgr, path)) { 
      FontFamily[] families = { fontFamily }; 
      return createFromFamiliesWithDefault(families); 
     } 
    } 
    throw new RuntimeException("Font asset not found " + path); 
} 
相關問題