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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hdsjsql 中级黑马   /  2013-4-18 09:51  /  1809 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 hdsjsql 于 2013-4-18 11:32 编辑

API中有些类没有构造函数,是因为它们的构造函数被private修饰了,还是构造函数是默认权限,所有不显示,还是因为其它,求解?
就是想问,另外在老毕的视频06-05中可知,如果构造函数是默认构造函数,API中也会显示。
我的问题是:在API中,有的类为什么没有显示构造函数.

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

6 个回复

倒序浏览
1.构造函数是用来初始化的

2.java的每个类都必须有构造函数
   不存在没有构造函数的类
3.Java中构造函数的权限可以是private吗?为什么
   可以,一般用在单例模式
4.也可能有些构造函数被私有化了,不想让你看见

5.还有种可能就是默认了一个空参数的构造函数。

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
每一个类中都必须要有一个构造函数,不然没法创建对象。
如果自定义了构造函数,那创建对象的时候,需要传自定义构造函数的,参数。
如果没自定义构造函数,系统会给你加一个默认的空参数的构造函数。
如果私有化了构造函数,只能在本类才能创建对象,外部创建不了。
回复 使用道具 举报
1、函数名与类名相同。
2、不用定义返回值类型。
3、不可以写return语句。
作用:给对象进行初始化。
注意:
1、默认构造函数的特点。
2、多个构造函数是以重载的形式存在的。
什么时候定义构造函数呢?
当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。
当对象一建立就会调用与之对应的构造函数。
private:私有,用于修饰成员变量。
被修饰以后,类以外即使建立了对象也不能直接访问。
回复 使用道具 举报
就是想问,在API中,有的类为什么没有显示构造函数
回复 使用道具 举报
肯定都有构造函数的,只是被私有化了,而且protected权限的构造函数外部类也不可见,只有该类的子类才可以访问;
因此构造函数全部为私有的类是一个final类,因为子类无法调用它的构造函数来进行初始化;
因此我们定义一个单例时,最好把该类的构造函数写为protected权限,以提高程序扩展性;
回复 使用道具 举报
因为该类不让别人私自建立对象,自己建立的一个私自的对象,并且提供了一个公共访问该类对象的方法(getInstnce()),但是每个类中都有默认的无参数的构造函数,别人仍然可以建立对象,所以在该类也写了个无参数的构造函数并且私有化了,那么默认的构造函数也就没有了,所以在你api的看的时候有的类没有显示构造函数,那个老师在单列设计模式中说的很清楚的哦,你好好看看的哦。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马