黑马程序员技术交流社区

标题: 关于构造函数? [打印本页]

作者: 橸瑩膤漃寞林    时间: 2014-3-29 17:53
标题: 关于构造函数?
本帖最后由 橸瑩膤漃寞林 于 2014-3-30 13:19 编辑

class Zi extends Fu{
//这是构造函数吗?
        void show(){
                System.out.println(num);
        }
}
作者: xuehuayous    时间: 2014-3-29 18:13
构造函数
特点:1.函数名与类名相同;2.不用定义返回值类型;3.不可以写return语句
作用:给对象进行初始化
  1. class Fu{
  2.         Fu() {
  3.                 System.out.println("这是Fu的构造函数");
  4.         }
  5. }
  6. class Zi extends Fu {
  7.         Zi() {
  8.                 System.out.println("这是Zi构造函数");
  9.         }
  10. }
复制代码

希望对你有帮助!
作者: 海世山盟    时间: 2014-3-29 18:28
首先因为你要构造该类的对象啊所以构造函数 必须和类名相同,既然是构造对象(其实就是初始化对象)也就没有返回值了。。(注意void是返回值为空而不是没有返回值)。所以你写的不是构造函数。只能是一个成员函数了。
作者: 橸瑩膤漃寞林    时间: 2014-3-29 19:40
成员函数是一般函数吗?
作者: 杨殿生    时间: 2014-3-29 20:19
这不是构造函数,构造函数要与类的名字一样,并且没有返回值类型
class Zi extends Fu
{
        Zi()
        {
                System.out.println(num);
    }
}
作者: syusikoku    时间: 2014-3-29 21:56
你这里肯定不是构造方法啊。构造方法是和类同名,并且是没有返回值的。
作者: ヽし☆ve    时间: 2014-3-29 21:57
不是,这就是一个子类继承父类,子类里面有一个SHOW 方法,ZI有一个默认无参的构造函数
作者: ╰青青子佩ˊゝ    时间: 2014-3-29 23:04
类中有成员变量和成员函数。构造函数也属于成员函数。你这个不是构造函数
  1. class Zi extends Fu{
  2.         //构造方法和类名是一样的,也可以加修饰符
  3.         Zi(){
  4.                
  5.         }
  6. }
复制代码

作者: 郭黎明    时间: 2014-3-29 23:13
构造函数是用来产生新的对象的,构造函数的名称和类名一样,继承中的构造方法不存在重写,子类在new对象时会隐式的调用父类中的无参的构造方法,当父类中的构造方法为有参的构造方法时,子类要用super(xxx)调用其有参的构造方法,否则会出错
作者: 老金vic    时间: 2014-3-30 00:05
class Zi extends Fu
{
        Zi()
        {
                System.out.println(num);
    }


}
构造函数是以类名命名,可以分为有参的和无参数的,构造函数用于创建对象,并进行初始化.建议如果你写了有参的构造函数,也要把空参的构造函数再手动加.
                否则你定义了有参的构造函数,空参的系统就不会再给了
作者: zhangbingyuan    时间: 2014-3-30 10:37
我看楼上的都说的很详细,我就补充点小知识吧,就是如果你给一个类的构造函数加上private修饰符的话,它是创建不了对象。因为构造函数的作用就是用来new一个对象的嘛,当然如果创建对象的时候有参数什么的话,也会赋值给新建对象的。
我说的这点知识的应用可以在单例设计模式中看到,你可以查查看。
作者: 小班。    时间: 2014-3-30 11:51
show()方法不是构造函数,构造函数的名字和类名是一样的且没有返回值。如果你没有写构造函数的话,系统在编译这个类的时候会自动给该类加载一个空的构造函数,即该构造函数什么都不做。
作者: 一诺千金    时间: 2014-3-30 21:03
构造函数不能有返回值的,,,也不能有return滴。。
作者: lazy_xia    时间: 2014-3-31 15:02
这不是构造函数 而是复习了父类的show函数而已 不过有一个默认的空的构造函数
作者: 孔丽阁    时间: 2014-3-31 15:12
我用自己的语言给你解释一下什么是构造函数,构造方法指的是生成一个自己对象。假设你定义一个class Car{},这是一个汽车类,现在有了这个汽车类,我想要一个真实的汽车,所以我就在这个类里边写了一个造汽车的方法public car(){},这个方法就是构造方法,通过这个方法,我们能生成一个真实的汽车。因为这个方法返回的肯定是一个汽车,所以直接使用void取代返回值。




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