为什么Java中不能有静态的构造函数

 我来答
小傅说数码
2016-11-28 · 数码小专家,专注分享数码知识
小傅说数码
采纳数:432 获赞数:29257

向TA提问 私信TA
展开全部
因为静态方法是没有状态的,接收一个参数,然后返回一个参数或者或者对该参数做什么操作。
而非静态方法与该对象有关,可以改变该方法所在的类的对象的状态。
构造方法可以设置一个对象的初始状态,这与静态方法冲突了。
青鸟中关村专家
2016-11-28 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部
JAVA中静态的东西都是属于类的,为类服务,构造函数是为了初始化对象,为对象服务。构造函数是用来生成实例,既然是实例就不是static的。这两者是相互矛盾的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅气还可靠灬彩旗2
2020-01-08
知道答主
回答量:3
采纳率:0%
帮助的人:2854
展开全部

上面的回答有误,JAVA中静态类是static,但也可以被实例。不能有静态构造函数是因为静态构造函数是属于类而不是实例,而构造函数是创建实例的,是属于实例对象的。

构造函数的主要目的是初始化对象变量,因此,如果我们将构造函数设置为静态,则无法初始化对象变量,所有不能有静态构造。

C#中静态类可以有静态构造函数,是因为静态类他不会被实例化,构造函数用于初始化一些静态成员,且不能有修饰符和参数。

嘿嘿,(*^▽^*),希望能帮到你。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
傲新苏b
2019-11-08 · TA获得超过488个赞
知道答主
回答量:157
采纳率:66%
帮助的人:11.8万
展开全部
构造器用于初始化一个对象,显然不是类的行为。
初始化一个类是静态块的事情。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式