Java在构造方法里加上public void语法报错

SugarAnnie 2016-01-29 09:32:58

我是这样理解的,这几个方法都是重写父类的方法,父类都是有public void,所以可以直接复制粘贴过来,但事实上不行,必须改成这样
...全文
765 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
SugarAnnie 2016-01-29
  • 打赏
  • 举报
回复
引用 2 楼 xiesq5112 的回复:
构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面: 1.构造方法作用:(1).构造出来一个类的实例 (2).对构造出来个一个类的实例(对象)初始化。 2.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。 3.主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的。 4.类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法。 5.不能被static、final、synchronized、abstract和native修饰。 6.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。 7.构造方法分为两种:无参构造方法 有参构造方法 构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。 8.构造代码块:   (1)作用:给对象进行初始化,对象一建立就执行,而且优先于构造函数执行   (2)构造代码块和构造函数的区别:   构造代码块是给所有不同对象的共性进行统一初始化,构造函数是给对应的对象进行初始化 9.子类继承父类中,   ***子类的实例化过程   ***构造方法不能被子类继承   ***子类创建对象时,会先去创建父类的对象。   默认是去调用父类的无参构造方法。   ***子类构造方法中,第一行默认是super()   ***为什么子类中第一行会默认有super()   因为他继承父类的成员使用,使用前这些成员必须初始化,   而他们是父类的成员,所以,必须通过父类进行初始化。   所以,会先创建一个父类的对象。   **当父类没有无参构造方法时 必须使用this或者super调用其他的构造方法。 10.自定义类中,如果不写构造方法,java系统会默认添加一个无参的构造方法。如果写了一个有参的构造方法,就一定要写无参构造方法。   如果想使用无参的构造方法,就必须手动给出无参构造方法。   建议:一般情况下,我们自定义的类都要手动给出无参构造方法。
非常感谢!!
心随自在飞 2016-01-29
  • 打赏
  • 举报
回复
引用 3 楼 SugarAnnie 的回复:
[quote=引用 1 楼 xiesq5112 的回复:] 图一中,构造方法是没有返回值的。也不能写viod,写了就不是构造方法了。
哦哦,构造方法不加public void就是默认的权限管理,里面调用的方法权限也不能高于这个权限,所以不能加public,是吗??[/quote] 不是的。 构造方法的形式为 :访问修饰符 类名(参数列表){ 方法体 } 其中参数列表和方法体可以为空
SugarAnnie 2016-01-29
  • 打赏
  • 举报
回复
引用 1 楼 xiesq5112 的回复:
图一中,构造方法是没有返回值的。也不能写viod,写了就不是构造方法了。
哦哦,构造方法不加public void就是默认的权限管理,里面调用的方法权限也不能高于这个权限,所以不能加public,是吗??
心随自在飞 2016-01-29
  • 打赏
  • 举报
回复
构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面: 1.构造方法作用:(1).构造出来一个类的实例 (2).对构造出来个一个类的实例(对象)初始化。 2.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。 3.主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的。 4.类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法。 5.不能被static、final、synchronized、abstract和native修饰。 6.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。 7.构造方法分为两种:无参构造方法 有参构造方法 构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。 8.构造代码块:   (1)作用:给对象进行初始化,对象一建立就执行,而且优先于构造函数执行   (2)构造代码块和构造函数的区别:   构造代码块是给所有不同对象的共性进行统一初始化,构造函数是给对应的对象进行初始化 9.子类继承父类中,   ***子类的实例化过程   ***构造方法不能被子类继承   ***子类创建对象时,会先去创建父类的对象。   默认是去调用父类的无参构造方法。   ***子类构造方法中,第一行默认是super()   ***为什么子类中第一行会默认有super()   因为他继承父类的成员使用,使用前这些成员必须初始化,   而他们是父类的成员,所以,必须通过父类进行初始化。   所以,会先创建一个父类的对象。   **当父类没有无参构造方法时 必须使用this或者super调用其他的构造方法。 10.自定义类中,如果不写构造方法,java系统会默认添加一个无参的构造方法。如果写了一个有参的构造方法,就一定要写无参构造方法。   如果想使用无参的构造方法,就必须手动给出无参构造方法。   建议:一般情况下,我们自定义的类都要手动给出无参构造方法。
心随自在飞 2016-01-29
  • 打赏
  • 举报
回复
图一中,构造方法是没有返回值的。也不能写viod,写了就不是构造方法了。
lwh_future 2016-01-29
  • 打赏
  • 举报
回复
构造器只有private、protected和public 修饰符 带void 那就变成方法了
lo11ve 2016-01-29
  • 打赏
  • 举报
回复
构造方法没有返回类型的,不需要void。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧