构造方法概述
- 构造方法概述和作用:给对象的数据(属性)进行初始化
- 构造方法格式特点:a、方法名与类名相同(大小也要与类名一致);b、没有返回值类型,连void都没有;c、没有具体的返回值return
class demo_Constructor{
public static void main(String[] args){
Person p=new Person();//在已创建对象的时候系统就帮我们调用了构造方法
//p.Person(); // 构造方法不能用对象调用
p.show();
Person p2=new Person();//再次创建的话就不好了
p2.show();
}
}
class Person{
private String name;
private int age;
//构造方法
public Person(){
//System.out.println("Hello World!");
//return; //构造方法也是有return语句的,格式是return
name="张三";
age=23;
}
public void show(){
System.out.println(name+"..."+age);
}
}
构造方法重载
重载:方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表
构造方法注意事项:
a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。注意:这是如果还想使用午餐构造方法,就必须自己给出,建议永远都自己给出无参构造方法
class demo_Constructor{
public static void main(String[] args){
Person p=new Person();
p.show();
System.out.println("----------------------");
Person p2=new Person("张三",23);
p2.show();
}
}
class Person{
private String name;
private int age;
//构造方法
public Person(){ //空参构造
System.out.println("空参构造");
}
public Person(String name,int age){ //有参构造
this.name="张三";
this.age=23;
System.out.println("有参构造");
}
public void show(){
System.out.println(name+"..."+age);
}
}