刚刚发现以下声明作为利益 immutable
object
不可变对象总是具有"失败原子性"(Joshua Bloch使用的术语):如果不可变对象抛出异常,它永远不会处于不合需要或不确定状态.
任何人都可以更详细地解释它,为什么会这样呢?
的clone
上方法Object
,它创建的对象的精确副本,被声明为:
protected native Object clone() throws CloneNotSupportedException;
Run Code Online (Sandbox Code Playgroud)
为什么native
?
好的只是为了清酒知识,我尝试了下面的案例(假设A类和B类在同一个包中)
ClassA的
public class ClassA {
public static void main(String[] args) {
System.out.println("A");
}
}
Run Code Online (Sandbox Code Playgroud)
ClassB的
public class ClassB extends ClassA {
public static void main(String[] args) {
System.out.println("B");
}
}
Run Code Online (Sandbox Code Playgroud)
在ClassB
它上面执行它将B
在classB下面的变化之后产生现在的输出
ClassB的
public class ClassB extends ClassA {
//blank body
}
Run Code Online (Sandbox Code Playgroud)
如果我编译并运行terminal
它给我的输出A
完全令人惊讶,因为它应该给出,NoSuchMethodError
因为没有主要的方法是他们如此善意地解释奇怪的行为?
注意:许多答案包含Override
单词请使用,hiding
因为我们无法覆盖java中的静态方法.
刚才知道java
确实有一个方法命名printf
,那么printf
&之间的区别是println
什么?
我知道方法变量存储在内存的堆栈上但稍有混淆final
.我曾浏览像许多环节这无法得到正确的认识?下面是的例子inner class
,其中final
变量被访问,本地non-final
变量不因为它们被存储在stack
class Employee {
public void getAddress(){
final int location = 13;
int notFinalVar = 13;
class Address {
System.out.println (location);
System.out.println (notFinalVar); // compiler error
}
}
Run Code Online (Sandbox Code Playgroud)
更新:刚才开始知道隐藏的字段叫做synthetic field
(inner class heap memory area
),其中存储了最终变量的副本,所以它最终意味着最终的变量存储在最后Stack memory Area
?
<p class="result-price">
<span>Price</span>
$25.00 |
<span>Member Price</span>
$25.00
<span>(0% discount)</span>
</p>
<p class="result-rating">
Run Code Online (Sandbox Code Playgroud)
从上面的HTML标签中,您可以注意到$ 25.00 | 仅仅是文本,并且没有与任何HTML标记相关联,我编写了以下x-path进行检索:
//div[contains(@data-title,'Rafael B.: Arrangement and Composition')]/div[3]/p[1]/text()
[2]。
并且确实提取了文本,但是在xpath检查器中,结果显示在容器内。当我在脚本中使用相同的x路径时,它不会检索文本值。
有人可以帮忙吗,好像文本在容器/文本区域内
我想为每个设备生成一个唯一的ID.目前我正在使用fingerprint.js.我的代码是:
var fingerprint = new Fingerprint().get();
Run Code Online (Sandbox Code Playgroud)
但是我希望使用任何插件生成唯一的id.有人能帮帮我吗?
好的,让我以下面的例子开始,以获得一个简短的例子
public class ClassA{
______ static final String MODULE = "[ClassA]";
}
Run Code Online (Sandbox Code Playgroud)
在空白空间,我在许多代码片断来了它有一定的时间public
或protected
或private
但不明白的哪一个是最好的,为什么?.我知道protected
是最好的subclass
实现,但随后subclass
到了MODULE
变数.
基本上MODULE
用于记录活动,例如
System.out.println(MODULE+"given message");
Run Code Online (Sandbox Code Playgroud)
简而言之,这是用于访问的最佳方式?