问题标签 [ocpjp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
205 浏览

java - Oracle Java 7 认证:private 和 protected 访问修饰符可用于哪些实体?

我正在试验 Oracle 为 Java 7 Associate 认证提出的问题。Windows 的应用程序是由 Oracle Press 创建的(可能)。他们已经把它和书一起寄给了我。

目前,当我说所有答案都正确时,我有一个问题是哪个应用程序说“错误答案”。有人可以解释一下吗?问题是内部类和内部接口可以是私有的和受保护的,但解释说类和接口不能。请在下面找到问题和解释。我希望这是提出此类问题的正确地方J。

问题

答案:

来自 Oracle 的正确答案:

解释:C、D 和 E。private 和 protected 访问修饰符可以与构造函数、方法和数据成员一起使用。A 和 B 不正确。private 和 protected 访问修饰符不能与类和接口一起使用。

0 投票
2 回答
522 浏览

java - 从 Java 执行存储过程,而不是使用 JDBC CallableStatement

我正在使用可用的模拟测试套件之一准备Java 7认证。

我偶然发现的测试问题之一是关于JDBC CallableStatement类,正确答案之一(根据工具)是:

如果过程具有 in 和 out 参数, CallableStatement 是Java 程序在数据库中执行存储过程的唯一方法。

这对我来说似乎很冒昧,我想知道是否有现有的库(例如可能是专有的 db 库)允许在没有JDBC的情况下运行存储过程?

0 投票
3 回答
835 浏览

java - String getChars() method confusion

I am reading from K&B about Strings. For some extra know how, i was reading tutorial from Oracle. I am copying the source code from Oracle.

I added point-1 in source code. I was understaning getChars method. When i run it, this program give me ArrayIndexOutOfBoundsException. Here is what i read in String docs.

public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

Throws: IndexOutOfBoundsException - If any of the following is true: srcBegin is negative. srcBegin is greater than srcEnd srcEnd is greater than the length of this string dstBegin is negative dstBegin+(srcEnd-srcBegin) is larger than dst.length

What is the destBegin? What offset, the documentation is talking about. 1 is a valid offset in destination array. Please help me solve this confusion.

Thanks.

0 投票
2 回答
20030 浏览

java - 在嵌套类中实现的比较器接口

我是 stackoverflow.com 的新手,但我经常在遇到问题时使用它来搜索答案,但现在我找不到任何搜索我的问题的结果,所以我在这里问:) 我正在为OCPJP SE 7 认证,考试 1Z0-804,我正在使用一本书(只有一本可用的 afaik,Ganesh\Sharma's one)和 Comparable 接口对一组 Student 元素进行排序,但问题是关于 Comparator:

所以它创建了一个新类,仅用于将 Comparator 接口与两个 Student 对象一起使用,但我认为这很不舒服,所以我想知道:为什么我不能使用嵌套类(在 Student 内)?像这样:

这本书没有提到使用嵌套类而不是普通类,但我不明白为什么这样做应该是不好的......我的代码(第二个)有什么问题吗?我应该遵循书中所说的,因为我对 Comparator 的实现是错误的吗?(注意:代码编译和运行没有问题,两种情况下都有预期的输出)

请帮助 :D 在此先感谢。

0 投票
3 回答
47910 浏览

java - string.split("\\S") 如何工作

我在 Ganesh 和 Sharma 的书 oracle_certified_professional_java_se_7_programmer_exams_1z0-804_and_1z0-805 中做一个问题。

一个问题是:

  1. 考虑以下程序并预测输出:

    一)0

    b) 5

    c) 12

    d) 16

现在我明白 \S 是一个正则表达式意味着将非空格字符视为分隔符。但是我对正则表达式如何匹配以及拆分产生的实际标记感到困惑。

我添加了代码以打印出令牌,如下所示

我得到以下输出

所以很多空字符串标记。我只是不明白这一点。

我本来会认为,如果分隔符是上述文本中的非空格字符,那么所有字母字符都用作分隔符,所以如果我们匹配也会导致空字符串的标记,那么可能应该有 21 个标记。我只是不明白 Java 的正则表达式引擎是如何解决这个问题的。是否有任何正则表达式专家可以为我阐明此代码?

0 投票
3 回答
1052 浏览

java - 为什么该示例的编译失败

当我发现这个令人困惑的练习时,我正在处理 SCJP6 转储:

给定在两个不同文件中定义的类:

和:

执行 XMLMessage.main 的结果是什么?

答案是:B,但我不明白为什么;我认为答案应该是C。

0 投票
5 回答
1193 浏览

java - Java:ToString() 每次打印相同的哈希码

上述代码的输出返回对象哈希码的相同 ClassName@hex 版本,尽管我所指的文本(SG Ganesh 和 Tushar Sharma 的 OCPJP 指南)指出“每个实例的十六进制值将不同”。我没有正确理解这一点吗?

0 投票
1 回答
108 浏览

java - equals() 方法和 == 运算符之间的关系

我知道==运算符适用于原始类型的内容比较和对象的引用比较。

类似地,.equals()对象类的方法用于对象的引用比较以及字符串和包装类中的内容比较。

但是我从 SCJP/OCJP 笔记中获得的以下几点,我无法理解。我在网上查看,只发现它们之间的区别==.equals但没有发现下面提到的关系。

  • 如果r1==r2是真的,那么r1.equals(r2)永远是真的。
  • 如果r1==r2为假,则r1.equals(r2)可能返回真(或)假。
  • 如果r1.equals(r2)为真,则r1==r2可能返回真(或)假。
  • 如果r1.equals(r2)为假,则r1==r2始终为假。
0 投票
5 回答
737 浏览

java - Java 线程对象与运行线程

嗨,我正在学习和玩 java 中的线程。我在一本书中读到 Thread 对象和 Running Thread 不是一回事。即使线程完成它的 run 方法运行线程进入死状态我什至用 isAlive() 方法检查。我想知道,如果两者都不同,那么按照我的理解,以下代码不起作用。

它只显示这个输出。main Thread-0 main 或这个 Thread-0 main

从这个结果我了解到线程完成后它的运行方法。运行线程进入死态并调用 Thread obj 方法不起作用。但我无法理解背后的原因,因为 Thread 对象是技能参考,而 Thread 类的其他方法呢。像产量()?开始()?

这是另一种情况,可以清楚地理解我所说的

文档说如果我们在 Thread t 对象上调用 start 方法,那么它将抛出 java.lang.IllegalThreadStateException。但上面的代码工作正常。我对 Thread 类的哪些方法依赖于运行线程以及哪些方法依赖于线程对象感到非常困惑。我希望你明白这个问题。提前致谢?

0 投票
2 回答
110 浏览

java - java - 用协变类型覆盖变量

输出:

显然 main 方法中的两个 println 语句是不一样的。从类 SubCovariant 的 getObject 方法返回的新 H() 对象如何分配给 G 引用?