构造器的重载
//构造方法和重载
public class Constructor {
String Weather;
String Area;
int num;
String A="我是变量";
public Constructor() {
System.out.println("一个无参构造器");
}
public Constructor(int num) {
this.num = num;
this.Weather = "冰雹";
System.out.println("**********一个参数为num的构造器");
System.out.println("东北的" + num + "个城市下"+this.Weather);
}
public Constructor(int num, String Weather, String Area) {
this(num);// 调用另外一个构造方法
this.Area = "湖南";
this.Weather = "雷阵雨";
System.out.println("*******一个参数为num、Weather、Area的构造器");
System.out.println(Area+"的"+num+"地区是"+Weather+"天气");
}
public void Wea() {
System.out.println(this.Area + "有" + this.num + "个地区都是" + this.Weather+ "天气");
}
public String Wea(String a) {
// 被重载的方法的形参列表不一样,返回值也可不同
return this.Area + "的天气是" + a;
// 被重载的方法的返回类型也可以不同;
}
public static void main(String[] args) {
Constructor con = new Constructor();// 实例化对象
con.num = 15;
con.Area = "重庆";
con.Weather = "暴风雨";
con.Wea();// 调用方法
String aaa = con.Wea("沙尘暴");
System.out.println(aaa);
// 实例化带参数的构造方法:Constructor(int num, String Weather, String Area)
Constructor conthree=new Constructor(14, "沙尘暴", "北京");
// 实例化带参数的构造方法:Constructor(int num)
Constructor contwo = new Constructor(12);
}
}
效果图展示:
当新对象被创建的时候,构造方法会被调用。
每一个类都有构造方法。
在没有给类提供构造方法的情况下,Java编译器会为这个类创建一个默认的构造方法。
Java中构造方法的重载和方法的重载很相似。可以为一个类创建多个构造方法。
每一个构造方法必须有它自己唯一的形参列表。