java - 回答这些评论问题

标签 java

我即将进行 Java 测试,这位 Java 教授试图与我发生争执,因为我说我知道我的东西。

这个具体问题引发了大声咒骂。

    1. Suppose that c1 and c2 are reference variables of type Clock. 
    What is the effect of each of the following statements?

    a. c1= new Clock();

    Answer
    a. It creates the object c1, and the instance variables hr, min,
    and sec are initialized to 0.

我的答案是它使用默认或无参数构造函数实例化 Clock 对象。但是,不,他的答案是它将所有实例变量设置为 0。

我的问题是你会如何回答?我怎么知道变量在那里?我问我的教授,他回答说:“如果我发布代码,它就会有 3 页长。”他不能在第一行输入“int hr, min, sec; 吗?!

最佳答案

声明

c1 = new Clock();

使用其无参数构造函数创建 Clock 类的新实例,并将其分配给局部变量 c1。如果不知道 Clock 的实现或其无参数构造函数的实现,就无法知道构造时实例 c1 的内部状态是什么。成员变量可能已由构造函数或静态初始化设置。你的猜测和我的一样好。

我认为值得指出的是,在没有看到 Clock 的实现的情况下,您不知道 Clock() 是默认的无参数构造函数还是不带参数的已定义构造函数。

关于java - 回答这些评论问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28843025/

相关文章:

java - 如何向新兴菜单窗口添加自己的选项?

Java 帮助了解数组并打印数组中的各个长度

java - 错误的输出来自 JNA 中的结构字段值

java - 希望在 Java Web 应用程序中集成/嵌入聊天客户端

java - Spring MVC 的有效 AJAX 请求

Java 在 SwingWorker 中渲染游戏 map 无法正常工作

java - 如何在 Android 上创建用户名和密码弹出窗口

java - 如何将 List<String> 转换为 ArrayList<String>

java - 如何在java中循环用户输入后打印出来?

java - 如何在 emacs 中为 Java 类实现 'generate getter/setter'?