java 构造方法+this+super
构造方法的格式:
修饰符 构造方法名(参数列表)
{
}
构造方法的体现:
构造方法没有返回值类型。也不需要写返回值。因为它是为构建对象的,对象创建完,方法就执行结束。
构造方法名称必须和类名保持一致。
构造方法没有具体的返回值。
public class Person { private String name; private int age; //构造方法 public Person(String name,int age){ this.name=name; this.age=age; } //构造方法的重载 public Person(String name){ this.name=name; } public Person(){ } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
public class Demo01 { public static void main(String[] args) { //构造方法调用 Person p=new Person("张三", 10); System.out.println(p.getName()+" "+p.getAge()); } }
当类中无构造方法时,系统会给此类默认添加一个空参构造。
如果类中有至少一个空参方法时,系统就不会再添加空参构造了。
构造方法在对象创建时就执行了,而且只执行一次。
一般方法是在对象创建后,需要使用时才被对象调用,并可以被多次调用。
public class Pig { private String name; public Pig(){ //构造方法调用构造方法 //在同一类中,使用this()调用构造方法; //只能进行构造方法之间的调用 //this();只能放在构造方法的第一行 this("小红帽"); } public Pig(String name){ this.name=name; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
//解决同时super和this public class Student extends Person{ private String name; public Student(){ this("张三"); System.out.println("子类空"); } public Student(String name){ super();//调用父类中的构造方法,必须放在构造方法中的第一行 //在所有构造方法的第一行默认super();方法 this.name=name; } }

浙公网安备 33010602011771号