A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 擒贼先擒王   /  2014-12-16 22:52  /  7857 人查看  /  45 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

黄小橙 发表于 2014-12-18 08:42
不可以,楼上有人说的懒汉式也不是成员函数调用构造函数

嗯,经过楼上的回复,我好像明白了很多!
回复 使用道具 举报
受教育了
回复 使用道具 举报
构造函数只有被初始化才可以调用,其他时候不调用,你想想构造函数不就是创建对象吗,不可以一直调用,除非你在函数里面创建对象
回复 使用道具 举报
让我反思很多啊,受教了
回复 使用道具 举报
经过我的尝试,发现构造函数是可以被成员函数调用的!
class Student
{
        private String name;
        private int age;
        public Student(){}
        public Student(String name,int age)
        {
                this.name = name;                       
                this.age = age;
        }
        public static Student returnClass()       
        {
                Student s =  new Student("xiaoming",10);
                return s;
        }
}
class Del1
{
        public static void main(String[] args)
        {
                Student s = Student.returnClass();
        }
}
回复 使用道具 举报
构造函数是用于实例化对象的,不能够方法中直接调用构造函数,但是可以使用构造函数去创建对象。
回复 使用道具 举报
hello_csu 发表于 2014-12-19 21:40
构造函数是用于实例化对象的,不能够方法中直接调用构造函数,但是可以使用构造函数去创建对象。 ...

请看25楼!!!
回复 使用道具 举报
不能,必须的
回复 使用道具 举报
不能啊      
回复 使用道具 举报

请看25楼
回复 使用道具 举报

请看25楼,看了再说!
回复 使用道具 举报
不能吧,除非你在函数内建立对象
回复 使用道具 举报
构造函数一new就被初始化了
回复 使用道具 举报
擒贼先擒王 发表于 2014-12-21 09:34
请看25楼,看了再说!

这样当然可以,不过我觉得楼主说的调用是指 Student(); 而不是创建对象,而构造函数只能重载的构造函数或者子类构造函数才能调用。
回复 使用道具 举报 1 0
构造函数虽然被称为函数,但是他跟一般函数完全是两个概念,构造函数在创建对象时与new关键字一起使用,new用于在堆内存中开辟空间,而构造函数对创建的对象进行初始化,在方法中倒是可以使用(创建对象什么的)……
回复 使用道具 举报
构造方法没有太多的意义 是用来初始化下对象的
回复 使用道具 举报
楼上都说了,我就来水一下吧
回复 使用道具 举报
这么多·学习了
回复 使用道具 举报
不可以。构造函数之间可以通过this关键字相互调用,但不能被成员函数调用
回复 使用道具 举报
不能的,因为是初始类的时候用的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马