Java 构造函数 编程题,Java中相关构造函数的一道笔试题解析

Java中有关构造函数的一道笔试题解析

Java中有关构造函数的一道笔试题解析

1、具体题目如下

下列说法正确的有()

A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名

C. constructor在一个对象被new时执行

D.一个class只能定义一个constructor

2、解析说明

(1)class中的构造函数是可以省略的

/**

* @Title:User.java

* @Package:com.you.user.model

* @Description:

* @author:Youhaidong(游海东)

* @date:2014-7-23 下午10:10:29

* @version V1.0

*/

package com.you.user.model;

/**

* 类功能说明

* 类修改者 修改日期

* 修改说明

*

Title:User.java

*

Description:游海东个人开发

*

Copyright:Copyright(c)2013

* @author:游海东

* @date:2014-7-23 下午10:10:29

* @version V1.0

*/

public class User

{

/**

* 姓名

*/

private String name;

/**

* 密码

*/

private String password;

/**

* @return the name

*/

public String getName() {

return name;

}

/**

* @param name the name to set

*/

public void setName(String name) {

this.name = name;

}

/**

* @return the password

*/

public String getPassword() {

return password;

}

/**

* @param password the password to set

*/

public void setPassword(String password) {

this.password = password;

}

}

(2)构造函数跟class同名,方法也可以跟class同名

/**

* @Title:User.java

* @Package:com.you.user.model

* @Description:

* @author:Youhaidong(游海东)

* @date:2014-7-23 下午10:10:29

* @version V1.0

*/

package com.you.user.model;

/**

* 类功能说明

* 类修改者 修改日期

* 修改说明

*

Title:User.java

*

Description:游海东个人开发

*

Copyright:Copyright(c)2013

* @author:游海东

* @date:2014-7-23 下午10:10:29

* @version V1.0

*/

public class User

{

/**

* 姓名

*/

private String name;

/**

* 密码

*/

private String password;

/**

* @return the name

*/

public String getName() {

return name;

}

/**

* @param name the name to set

*/

public void setName(String name) {

this.name = name;

}

/**

* @return the password

*/

public String getPassword() {

return password;

}

/**

* @param password the password to set

*/

public void setPassword(String password) {

this.password = password;

}

public void User()

{

}

}

只不过Java规范中方法名第一个字母小写,不赞成这样写法,但是还是存在方法和class同名

(3)一个类中可以定义多个构造函数

/**

* @Title:User.java

* @Package:com.you.user.model

* @Description:

* @author:Youhaidong(游海东)

* @date:2014-7-23 下午10:10:29

* @version V1.0

*/

package com.you.user.model;

/**

* 类功能说明

* 类修改者 修改日期

* 修改说明

*

Title:User.java

*

Description:游海东个人开发

*

Copyright:Copyright(c)2013

* @author:游海东

* @date:2014-7-23 下午10:10:29

* @version V1.0

*/

public class User

{

/**

* 姓名

*/

private String name;

/**

* 密码

*/

private String password;

/**

* @return the name

*/

public String getName() {

return name;

}

/**

* @param name the name to set

*/

public void setName(String name) {

this.name = name;

}

/**

* @return the password

*/

public String getPassword() {

return password;

}

/**

* @param password the password to set

*/

public void setPassword(String password) {

this.password = password;

}

public void User()

{

}

/**

*

Title:

*

Description:有参构造函数

* @param name

* @param password

*/

public User(String name, String password) {

super();

this.name = name;

this.password = password;

}

/**

*

Title:

*

Description:无参构造函数

*/

public User() {

super();

}

}

通过排除法得知,答案是C

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值