黑马程序员技术交流社区

标题: 构造方法为什么要和类名一致,关于构造方法的问题还是不很明白,继续问 [打印本页]

作者: 石德志    时间: 2012-3-9 08:39
标题: 构造方法为什么要和类名一致,关于构造方法的问题还是不很明白,继续问
构造方法为什么要和类名一致,关于构造方法的问题还是不很明白,继续问,求解释
作者: 杨毅    时间: 2012-3-9 08:43
这就是java规定的格式,没什么好解释的吧,没原因,就是规定,非要说的话,就是只有写成这样,虚拟机才认你是构造函数
作者: 黄奇耀    时间: 2012-3-9 09:24
在Java中,任何变量在被使用前都必须先设置初值。Java提供了为类的成员变量赋初值的专门功能,也就是说构造方法是用于成员变量的初始化的。java是这样规定构造方法的:
1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。   
2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。   
3.每个类可以有零个或多个构造方法.   
4.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。   
5.构造方法在创建对象时自动执行,一般不能显式地直接调用.
作者: 薛波    时间: 2012-3-9 09:30
同意楼上,要非要说为什么个人理解:你要创建这个类的对象比如new Person(); 这时候如果构造方法不和他的类名一样,那么他也就不知道去创建哪个类的对象了。 要是person类的构造方法是Student()那么岂不是实例化了一个student对象了。
作者: 慎言慎言    时间: 2012-3-9 10:58
构造方法,顾名思义,就是说你要去怎样构造一个类,但是编译器如何知道你怎样创建一个类,创建一个什么样的类呢?构造此类你要使用什么样的参数,返回什么样的类型,这都是要你在构造方法中指明写清楚的
建议你看一下在变量方法在初始化中的顺序,类的复用中组合继承的关系,能更好的帮你理解构造方法
作者: huanying    时间: 2012-3-9 12:21
我是这样理解的,首先你说的是构造方法和类名一致,一致也就是完全相匹配,类也就是种类。人类、动物类、汽车类。。。这些类都有他们自己的行为,构造方法也是这些类中能实现的功能与作用,比如,人类说话,动物类不说话,说话就是一个构造方法,若说话和人类相一致,你调用时就会得到想要的结果。若和动物类其他类相一致,那就是所有的种类都会说话了,这不符合实际而且很荒谬。构造方法和类名一致就像你的名字和姓氏一致那么简单。。。。多看看多练练找出适合自己理解的思路就OK。。。。。希望对你有些帮助。。。加油吧。。。
作者: 石德志    时间: 2012-3-9 14:42
黄奇耀 发表于 2012-3-9 09:24
在Java中,任何变量在被使用前都必须先设置初值。Java提供了为类的成员变量赋初值的专门功能,也就是说构造 ...

多谢,基本上能够理解了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2