-
构造方法是创建对象的时候调用的方法
-
构造方法的作用?
-
构造方法语法的出现是为了方便程序员的开发,可以再创建对象的同时直接给属性赋值
-
任何一个类都有构造方法,即使我们没有写,系统也会提供一个默认的构造方法,默认的构造方法是无参空体
-
如果想要在创建对象的时候给所有属性赋值的话,需要自己写一个构造方法,一旦我们写出自己的构造方法之后,默认的无参构造方法将不再提供
-
-
构造方法的特点:
-
没有返回类型,连void都不能写 -》 修饰符 + 方法签名(){}
-
构造方法的名字需要和类名一模一样的[通常首字母大写]
-
-
构造方法的首行....
-
默认:super():要执行本构造方法之前,先去执行父类的构造方法,默认找父类无参构造方法
-
如果父类没有无参构造方法
-
提供父类的无参构造方法
-
在super()里面传参数,指定他找父类的哪一个构造方法
-
-
-
构造方法的首行还可以出现this()
-
this():要执行本构造方法之前,先去执行本类的其他的构造方法,具体执行本类的哪一个构造方法,看参数类型
-
-
-
构造方法首行的super()/this()只能出现一个
-
super.和this.之间的区别?
-
super.和this.一般出现在普通方法里面,没有位置限制
-
super.在子类调用父类的某个普通属性/普通方法
-
this.当前调用该方法的对象
-
-
super()和this()之间的区别?
-
super()/this()只能出现在构造方法的首行
-
super():表示要执行本构造方法之前,先去执行父类的构造方法,具体执行父类的哪一个构造方法,看参数类型
-
this():表示要执行本构造方法之前,先去执行本类的其他的构造方法,具体执行本类的哪一个构造方法,看参数类型
-
-
构造方法能不能方法重载?
-
可以重载
-
-
构造方法可以方法覆盖吗?
-
不可以,因为构造方法不能被子类继承
-