俺的确是在学基础!那为什么去掉A1 a1=new B1(2)里的2又能运行呢?
如果你在定義構造函數的時候在函數名前加上了返回類型就會被當做普通方法看待所以你在這裏用new操作符調用的構造函數根本就不存在把2去掉後變成B1(),也就是當你沒有定義任何構造函數時系統提供的無參構造函數(注意!你以為已經定義的那個根本不是構造函數)還有,就算你把你定義的B1當普通方法用也不行,因為你根本沒有一個叫a的字段卻在裏面賦值給它明顯是錯的嘛