Java构造方法

构造方法

Java的构造方法是一种特殊的方法,用于初始化对象;Java构造方法在对象被创建时被调用。他构造值,即提供对象的数据。

java构造函数java方法
构造器用于初始化对象的状态(数据)方法用于暴露对象的行为
构造函数不能有返回值方法一般都有返回值
构造函数隐式调用方法要显式调用
如果没有指定任何构造函数,java编译器提供一个默认构造函数在任何情况下,编译器都不会提供默认的方法调用。
构造函数名称,必须和类名称相同。方法名称可以或不可以与类名称相同(随意)
  • 当不提供构造方法的时候,java会提供一个默认的无参构造方法
  • 构造方法不能被子类继承,所以final修饰符无意义
  • 构造方法也不能被static、synchronized、abstract、native修饰,但可以被public、private、protected修饰
  • 没用返回值,包括void
  • 一旦声明了有参构造,无参构造必须显式声明
  • 使用new关键字,本质是调用构造器
  • 用来初始化对象的初始值
  • 单例模式,需要构造器私有

super()、this()

  • super()和this()只能在构造方法的第一行,

  • 而且不能同时使用,因为会造成初始化两次。

  • super()和this() 都是要指向对象,所以不能在static里面使用,包括static类、static方法、static语句块

    ​ 因为static不创建对象

子类、父类中的构造方法

  • 子类构造方法中的第一行 默认为super(),默认调用父类的无参构造方法;

默认生成的无参构造方法第一行也是super()

如果父类没有无参构造方法,子类就要显式的调用父类的有参构造方法或者自己的哪个构造方法。

构造方法调用

public class Base{
	int w, x, y ,z;
	public Base(int a,int b){
		x=a; y=b;
	}
	public Base(int a, int b, int c, int d){
		// assignment x=a, y=b
		w=d;z=c;
	}
}

例子:在代码说明// assignment x=a, y=b处写入如下哪几个代码是正确的?

Base(a,b); ×

this(a,b);

  • 构造函数不能直接调用

  • 在构造方法中调用本类中的构造方法时,使用this调用,或使用 new Base(a,b)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值