java - 創建變量沒有輸出??
問題描述
class Car{ int num; String color; public static void run() {System.out.println('行駛'); }}class Demo99 { public static void main(String[] args) { Car baoma = new Car();
//這這兒為什么需要使用baoma.run();這個語句才有輸出呢?//下面的代碼不需要引用函數就可以得到輸出了
}}
這個代碼沒有輸出這是為什么呢??下面這個代碼
public class CodeBlock02{ { System.out.println('第一代碼塊');}public CodeBlock02(){System.out.println('構造方法');}{ System.out.println('第二構造塊');} public static void main(String[] args){ CodeBlock02 acv = new CodeBlock02(); //或者用這個都有輸出 new CodeBlock02();}}
問題解答
回答1:new 會去調用構造方法,
public class Demo{public Demo(){ System.out.println('demo');} } public class Run{public Run(){}public void print(){ System.out.println('run');}
如果你使用了new Demo 這個時候會去調用Demo()這個構造方法也就是會輸出。但是new run()不會,因為構造方法沒有調用輸出語句,要輸出需要去調用print()方法。
回答2:第二個輸出的是“第一代碼塊”吧?
回答3:你要理解這幾個概念:
構造方法
靜態方法
實例方法
代碼塊
了解了這幾個, 你就想明白了
相關文章:
1. angular.js - 關于$apply()2. angular.js使用$resource服務把數據存入mongodb的問題。3. MySQL數據庫中文亂碼的原因4. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下5. 如何解決Centos下Docker服務啟動無響應,且輸入docker命令無響應?6. dockerfile - [docker build image失敗- npm install]7. android-studio - Android Studio 運行項目的時候一堆警告,跑步起來!?8. nignx - docker內nginx 80端口被占用9. angular.js - Ionic 集成crosswalk后生成的apk在android4.4.2上安裝失敗???10. mysql - 新浪微博中的關注功能是如何設計表結構的?
