Java构造方法的特点
1、构造方法的名称与类名相同
在Java中,构造方法的名称必须与类名完全相同,包括大小写,这是为了方便通过构造方法创建对象时能够明确地知道要调用哪个构造方法。
public class Person { private String name; private int age; // 构造方法 public Person(String name, int age) { this.name = name; this.age = age; } }
2、构造方法可以有参数
构造方法可以有参数,也可以没有参数,如果一个类的实例需要一些初始化工作,可以在构造方法中完成这些工作,如果不需要初始化工作,那么这个类可以没有构造方法。
public class Person { private String name; private int age; // 有参构造方法 public Person(String name, int age) { this.name = name; this.age = age; } // 无参构造方法 public Person() { this.name = "未知"; this.age = 0; } }
3、构造方法可以被重载(overload)
在Java中,虽然构造方法不能被继承,但是可以通过重载来实现类似的功能,重载是指在同一个类中定义多个同名的方法,但它们的参数列表不同,这样,当根据不同的参数列表调用构造方法时,会自动选择合适的构造方法进行实例化。
public class Person { private String name; private int age; // 有参构造方法1 public Person(String name, int age) { this.name = name; this.age = age; } // 有参构造方法2(重载) public Person(String name) { this(name, 0); // 根据传入的name和默认的age创建Person对象 } }
4、一个类只能有一个默认构造方法(default constructor)和一个私有构造方法(private constructor)
在Java中,一个类只能有一个默认构造方法,用于创建无参对象,如果需要提供其他构造方法,可以使用带参数的构造方法,一个类还可以有一个私有构造方法,用于在类的内部创建对象,私有构造方法的特点是它的访问修饰符为private,因此无法在类的外部直接调用。
public class Person { private String name; private int age; // 默认构造方法(public)和私有构造方法(private) public Person() {} // default constructor (public) and private constructor (private) within the same class......................7/7public Person(String name) {} // other constructor (private)...................8/7public Person(String name, int age) {} // other constructor (public)...................9/7}---------------------------------------------------------10/7```
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/164686.html