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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© stormdzh 中级黑马   /  2013-9-23 10:02  /  1900 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨增坤 于 2013-9-23 16:36 编辑

有书上说构造器用于对类实例进行初始化操作,但还是不理解构造器是什么,有什么作用?希望谁用通俗易懂的语言解释下

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

7 个回复

倒序浏览
本帖最后由 xscn 于 2013-9-23 10:06 编辑

构造器就是构造函数
构造函数就不用再解释了吧

回复 使用道具 举报
当新建一个类的时候,就需要一个构造方法,如果自己不去重写,jvm会自动为你添加无参,无逻辑代码的构造器如:public A(){}。如果你自己要在初始化该类时候做一些赋值或者处理一些值传递的逻辑时,这时候就需要重写:
public A(需要传的参数){
        //处理逻辑的代码或者赋值
        //一般会:this.参数1 = 参数1
}
其实 不用想的太复杂,构造器应该就是 java中的构造函数,他主要是用来给 变量赋值的,用构造器来对变量进行构建对象值的。

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
就是构造函数,但是一定要注意传的参数一定要符合,否则就会说什么构造器怎么怎么样,具体报错咋说的记不清了
回复 使用道具 举报
说白了就是用另一种方式新建一个对象.(是的吧?) 只不过使用了字节码.
回复 使用道具 举报
通俗易懂的语言嘛! 饿自己的理解就是 构造器 你就把它当成是实例化对象的一种路径吧! 就像人吃饭,一般都要有一个碗吧!碗里面装了饭,构造器也就差不多了,就相当于碗,碗都没有,怎么装饭、、、下面举个简单的例子,刚敲的代码--->
import java.lang.reflect.Constructor;


public class ConstructorDemo1 {

        public static void main(String[] args) throws Exception {
                Person_test pt1 = new Person_test();   //通过无参数的构造器 new 对象
                Person_test pt2 = new Person_test("lisi",20);   //通过有参数的构造器 new 对象
               
                //一下是通过反射得到有参构造器 new 对象
                Constructor con = Person_test.class.getConstructor(String.class, int.class);
                Person_test he = (Person_test) con.newInstance("萧炎",20);
               
                System.out.println(he.getName() + "..." + he.getAge());
        }

}

class Person_test {
        private String name = "zhangsan";
        private int age = 12;
       
        public Person_test() {

        }
        public Person_test(String name, int age) {
                this.name = name;
                this.age = age;
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }
}


希望可以帮到楼主、、、
The you smile until forever 、、、、、、、、、、、、、、、、、、、、、

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
构造函数,打个有参数和无参数的列子吧,生儿子的例子。假如构造函数无参数,也就是没生之前没给儿子起名字,生出来后再起名字;而有参数就是在肚子里就起了名字了,儿子这个对象一出来,诶,懂了吧

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
乔兵 高级黑马 2013-9-23 12:57:34
8#
如果问题已经解决,请重新编辑帖子,修改帖子的主题分类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马