Java——构造器(构造方法)2021-09-12

new对象实际上就是调用类的构造方法

public class Point {
	public int x,y,z;
	public Point(int a,int b,int c) {
		x=a;
		y=b;
		z=c;
	}
}
public class PointTest {
	public static void main(String[] args) {
		Point p=new Point(1,2,3);
	}
}

构造器

构造器一般用来创建对象的同时初始化对象

class Person{
	String name;
	int age;
	public Person(String n , int a){  name=n; age=a;}
}

构造器的特征

  1. 它具有与类相同的名称
  2. 它不声明返回值类型。(与声明为void不同)
  3. 不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值

构造器分类

  1. 隐式无参构造器,由系统默认提供。
  2. 显示定义一个或多个构造器(无参、有参)。

注 意

  1. Java语言中,每个类都至少有一个构造器。未显示定义时使用的默认的无参构造器。
  2. 默认构造器的修饰符与所属类的修饰符一致,只有public和缺省两种。显示定义可有其他选择。
  3. 一旦显式定义了构造器,则系统不再提供默认构造器。那么如果显式定义了一个有参构造方法,如果想使用无参构造方法,就必须重新构造一个无参构造方法。
  4. 一个类可以创建多个重载的构造器
  5. 父类的构造器不可被子类继承

显示定义的构造方法

  • 给无参的构造方法赋值,以后调用对象时默认为1和zhangsan
public class Person2 {
	//在构造方法中给类成员变量赋值,可改变其默认值,以后调用时若不对成员变量赋值,每一次都默认为1和zhangsan
	public Person2() {
		age=1;
		name="zhangsan";
	}
	}
  • 有参的构造方法,可在new对象时直接传入实参
public class Person2{
protected Person2(int a,String n) {
		age=a;
		name=n;
	}
	}

构造器的重载

  1. 为什么构造器需要重载?构造器重载使得对象的创建更加灵活,方便创建各种不同的对象。
  2. 与方法重载类似,构造器(构造方法)重载,参数列表必须不同。
  3. 构造器重载举例:
public class Person{
   public Person(String name, int age, Date d) {this(name,age);}
   public Person(String name, int age) {}
   public Person(String name, Date d) {}
   public Person(){}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值