发布网友 发布时间:2022-05-13 00:30
共1个回答
热心网友 时间:2023-11-02 22:52
首先说明下什么是方法,方法就是为某种目的而做的一些事情,对于编程语言来说,就是为了达到某种目的而执行的一系列代码。而构造方法的目的就是通过执行一系列代码来产生一个类的实例对象。你可以把构造方法看作一个返回值为类对象的方法,因为它返回的一定是类对象,所以也就不用像普通方法那样去特别说明返回值的类型。
构造方法可以用private,default(就是什么也不写),protected,public修饰,但是不能用static和final修饰,同时构造方法可以有参数也可以没有参数,
如上面所说构造方法一定返回的是类对象,所以构造方法内部不可以返回任何对象
即不可以写return obj;
但是你可以写return;这么写说明方法执行完了
且方法名前面不能写返回类型。
构造方法在执行的时候会由jvm去执行分配内等操作,具体的就需要你去查看jvm规范了,
但是你可以先看下下面的例子了解下构造方法在java语言层面的执行过程,
构造函数执行时会默认首先执行父类的无参构造方法,当然你也可以显示的调用父类的无参构造方法super(),但是无论你调用父类的有参或无参构造方法都必须在子类构造方法的第一行中调用,这个是规定,下面的例子中为了方便观察,在子类中调用的是父类的有参构造方法。
父类,子类静态初始化块,初始化块,构造器执行顺序:
父类静态初始化块
子类静态初始化块
父类初始化块
父类构造器
子类初始化块
子类构造器
public class Father {子类主方法执行结果为:
Father static Block
Son static Block
Father Block
Father Block
Father Constructor
Son Block
Original name:son
Son Block change name:a son
Son Consrtructor
name:a son
Son Constructor change name:two son