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; /**
* 类功能说明
* 类改动者 改动日期
* 改动说明
* <p>Title:User.java</p>
* <p>Description:游海东个人开发</p>
* <p>Copyright:Copyright(c)2013</p>
* @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; /**
* 类功能说明
* 类改动者 改动日期
* 改动说明
* <p>Title:User.java</p>
* <p>Description:游海东个人开发</p>
* <p>Copyright:Copyright(c)2013</p>
* @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; /**
* 类功能说明
* 类改动者 改动日期
* 改动说明
* <p>Title:User.java</p>
* <p>Description:游海东个人开发</p>
* <p>Copyright:Copyright(c)2013</p>
* @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()
{ } /**
* <p>Title:</p>
* <p>Description:有參构造函数</p>
* @param name
* @param password
*/
public User(String name, String password) {
super();
this.name = name;
this.password = password;
} /**
* <p>Title:</p>
* <p>Description:无參构造函数</p>
*/
public User() {
super();
} }

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

Java中有关构造函数的一道笔试题解析的更多相关文章

  1. Thinking in java中关于Exception的一道面试题.

    今天看到Thinking in Java中一个关于Exception的例子:最后看到有一篇总结的比较好的文章, 这里拿来记录下, 文章地址是:http://blog.csdn.net/salerzha ...

  2. 一道笔试题来理顺Java中的值传递和引用传递

      题目如下: private static void change(StringBuffer str11, StringBuffer str12) { str12 = str11; str11 = ...

  3. 一道笔试题和UML思想 ~

    一句软件工程界的名言,让我想起了一个和一道笔试题有关的故事.希望更多的人了解 UML 背后的思想比他的语法更重要,是笔者写作本文的一点小愿望. 一.从一句软件工程名言说起 对很多事情的处理上,东西方都 ...

  4. Java中的构造函数和重载

    一.Java中的构造函数 构造函数是对象被创建时初始化对象的成员方法,它具有和它所在的类完全一样的名字.构造函数只能有入口参数,没有返回类型,因为一个类的构造方法的返回类就是类本身.构造函数定义后,创 ...

  5. Java中的构造函数——通过示例学习Java编程(14)

      作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=25 构造函数是用来初始化新创建的对象的代码块. ...

  6. 由阿里巴巴一道笔试题看Java静态代码块、静态函数、动态代码块、构造函数等的执行顺序

    一.阿里巴巴笔试题: public class Test { public static int k = 0; public static Test t1 = new Test("t1&qu ...

  7. 一道关于java 类初始化 成员初始化的笔试题的解析

    代码如下: java笔试题public class Mapplication { private static int n; private static Mapplication m1 = new ...

  8. Android(java)学习笔记188:关于构造代码块,构造函数的一道面试题(华为面试题)

    1.源码是: package text; public class TestStaticCon { public static int a = 0; static { a = 10; System.o ...

  9. Android(java)学习笔记131:关于构造代码块,构造函数的一道面试题(华为面试题)

    1. 代码实例: package text; public class TestStaticCon { public static int a = 0; static { a = 10; System ...

随机推荐

  1. xhprof

    #官网下载 http://pecl.php.net/package/xhprof tar zxf xhprof-0.9.2.tgz   cd xhprof-0.9.2/extension/   sud ...

  2. Hadoop学习之shuffle过程

    转自:http://langyu.iteye.com/blog/992916,多谢分享,学习Hadopp性能调优的可以多关注一下 Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方, ...

  3. nodejs安装指定版本

    由于express有各种不同的版本,不同的版本开发方式有所不同,如果想安装指定版本可以选择全局安装指定版本: 安装步骤如下: (1) 安装2.5.8版本的express的方法: C:\Users\Li ...

  4. 通过class类来实例化其他类的对象(使用有参构造函数)

    import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; class Pers ...

  5. phpUnit 断言

    转自http://blog.163.com/qianxue126@126/blog/static/162723138201119113131125/ 布尔类型assertTrue   断言为真asse ...

  6. Angular form

    参考 http://blog.xebia.com/2013/10/15/angularjs-validating-radio-buttons/ http://stackoverflow.com/que ...

  7. 设置cmd的codepage的方法

    设置cmd的codepage的方法 有时候,我们的cmd.exe的codepage和字体等会变化,比如突然由中文变成英文的codepage(因为一些sh程序的干扰). 下面是修正方法: [HKEY_C ...

  8. BZOJ 4259 残缺的字符串(FFT)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4259 [题目大意] 给出两个包含*和小写字母的字符串,*为适配符,可以和任何字符匹配, ...

  9. Ubuntu嵌入式开发环境配置问题集锦(不断更新)

    本文章主要记录在建立嵌入式开发环境中遇到的各种问题,并详细写上解决方法.     我的开发环境为:win7+Vmware9.0+Ubuntu12.04     之所以选择这样的开发环境是因为:1. 有 ...

  10. Linux 进程通信之 ——信号和信号量总结

    如今最经常使用的进程间通信的方式有:信号,信号量,消息队列,共享内存.       所谓进程通信,就是不同进程之间进行一些"接触",这种接触有简单,也有复杂.机制不同,复杂度也不一 ...