1. 程式人生 > >構造方法,過載以及何時可以省略

構造方法,過載以及何時可以省略

構造方法,過載以及何時可以省略

構造方法和類名重名,前面沒有任何修飾,無返回值
1,一般情況下,程式會自動生成構造方法,任何東西沒有包含,一般可以省略,省略有兩種情形,1是沒有用到省略的,2是過載後也未用到
2,但是過載的情況下不能夠省略,如輸入不同的引數型別,而且省略和未省略的都又用到


A,省略的情形兩種
第一種:系統自帶的用上了,但是沒有其他的過載
class Cat1{
 private String name;
 private int age;
 /*Cat1(){
  }//此時程式中可省略,系統自帶的
*/ void prt(){
  System.out.println(this.name+this.age);
 }
}
public class A614{
 public static void main(String[] args){
  Cat1 one=new Cat1();
  one.prt();
 
 } 
}

第二種情形:系統自帶的沒有用上
class Cat1{
 private String name;
 private int age;
 Cat1(String name,int age){//構造方法前面任何的修飾詞,沒有返回值
  this.name=name;
  this.age=age;
 }
 
 void prt(){
  System.out.println(this.name+this.age);
 }
}
public class A614{
 public static void main(String[] args){
  
  Cat1 two=new Cat1("小花",2);
  two.prt();
 } 
}

B,過載後不能省略的情形,省略的和過載的均有定義,不能省略
class Cat1{
 private String name;
 private int age;
 Cat1(String name,int age){//構造方法前面任何的修飾詞,沒有返回值
  this.name=name;
  this.age=age;
 }
 Cat1(){
 
 }//java物件自動匹配的構造方法,可省略?
 void prt(){
  System.out.println(this.name+this.age);
 }
}
public class A614{
 public static void main(String[] args){
  Cat1 one=new Cat1();
  one.prt();
  Cat1 two=new Cat1("小花",2);
  two.prt();
 } 
}