使用構造器時需要記住:
1.構造器必須與類同名(如果一個源文件中有多個類,那么構造器必須與公共類同名)
2.每個類可以有一個以上的構造器
3.構造器可以有0個、1個或1個以上的參數
4.構造器沒有返回值
5.構造器總是伴隨着new操作一起調用
示例:
A.java
- public class A{
- public A(){
- System.out.println("調用了無參的構造函數");
- }
- public A(String mess){
- System.out.println("調用了有參的構造函數\n"+
- "參數內容為:"+mess);
- }
- }
Test.java
- public class Test{
- public static void main(String [] args){
- A a_1=new A();//調用無參的構造函數
- A a_2=new A("Hello");//調用有參的構造函數
- }
- }
輸出結果:
繼承與構造函數
使用super調用父類構造器的語句必須是子類構造器的第一條語句
如果子類構造器沒有顯式地調用父類的構造器,則將自動調用父類的默認(沒有參數)的構造器。如果父類沒有不帶參數的構造器,並且在子類的構造器中又沒有顯式地調用父類的構造器,則java編譯器將報告錯誤
示例:
A.java
- public class A{
- public A(){
- System.out.println("調用了A的無參構造函數");
- }
- public A(String mess){
- System.out.println("調用了A的有參的構造函數\n"+
- "參數內容為:"+mess);
- }
- }
B.java
- public class B extends A{
- public B(){
- System.out.println("調用了B的無參構造函數");
- }
- public B(String mess){
- super(mess);
- System.out.println("調用了B的有參構造函數\n"+
- "參數內容為:"+mess);
- }
- }
Test.java
- public class Test{
- public static void main(String [] args){
- B b_01=new B();
- B b_02=new B("你好");
- }
- }
輸出結果: