Java学习笔记10(面对对象:构造方法)

时间:2023-03-10 01:41:35
Java学习笔记10(面对对象:构造方法)

在开发中经常需要在创建初始化对象时候明确对象的属性值,

比如Person对象创建的时候就给Person的属性name,age赋值,

这里就要用到构造方法:

构造方法是类的一种特殊方法,它的特殊性体现在:

  1.构造方法的方法名与类名相同。

  2.构造方法是类的方法,它能够简化对象数据成员的初始化操作。

  3.不能对构造方法指定返回值类型,它有隐含的返回值,该值由系统内部使用

  4.构造方法一般不能由编程人员显式的直接调用,在创建一个类的对象的同时,系统会自动调用该类的构造方法将新的对象初始化。

  5.构造方法可以重载,即可以定义多个具有不同参数的构造方法。

  6.构造方法可以继承,即子类可以继承父类的构造方法。

  7.如果用户在一个自定义类种未定义该类的构造方法,系统将为这个类定义一个缺省的空构造方法。

public class Person {
private String name;
private int age;
public Person() {//定义空参构造方法
super();//自动继承父类方法,写或不写都会有
}
public Person(String name, int age) {//定义带参构造方法,可以在初始化对象时候直接赋值
this.name = name;
this.age = age;
}
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;
}
@Override
public String toString() {//自动生成转字符串方法,方便输出观察值
return "Person [name=" + name + ", age=" + age + "]";
}
}
public class Test {
public static void main(String[] args) {
Person p1=new Person();//调用空参构造方法,创建对象,并为该对象的属性值逐个赋值
p1.setAge(18);
p1.setName("张三");
System.out.println(p1);
/*当我们需要创建多个对象时,逐个赋值,效率太低;所以出现了带参构造方法,
通过带参构造方法,我们可以在创建初始化对象的同时直接赋值,简化了代码*/
Person p=new Person("张三", 18);
System.out.println(p);
}
}