小编use*_*842的帖子

访问内部类中的局部变量

package geometry;

public class Hypotenuse {
    public InnerTriangle it = new InnerTriangle();

    class InnerTriangle {  
        public int base;
        public int height;
    }
}
Run Code Online (Sandbox Code Playgroud)

关于可以引用变量库的对象的类,哪个陈述是正确的?

答:它可以是任何类.

B.没有班级可以进入基地.

C.该类必须属于几何包.

D.该类必须是Hypotenuse类的子类

这是来自SCJP Dumps,答案是"C".因为我的知识答案应该是"B",因为内部类具有称为"base"的局部变量,并且它仅在内部类中具有范围.即使我想在"几何"类中使用这个变量,我也不允许这样做.

如果我错了,请指导我?

java

6
推荐指数
1
解决办法
757
查看次数

拳击可以使用的地方

图书来自书 我在书中看到了这个例子,作者试图告诉我们使用拳击.我在理解最后几行时遇到问题,即"当代码尝试调用doStuff(x)时代码抛出异常,因为x并不引用Integer对象." 我不明白为什么x不是Integer Wrapper类的对象.好像,我之前将它定义为静态整数x.这个x变量是不是对Integer Wrapper类的引用?.而且,它为什么抛出"NullPointerException?"

java

4
推荐指数
1
解决办法
72
查看次数

超类中的私有final可以被覆盖吗?

哪三个陈述是正确的?(选择三项。)

A. 当且仅当 X 是抽象的时,类 X 中的最终方法才可以是抽象的。

B. 类 X 中的受保护方法可以被 X 的任何子类覆盖。

C. 私有静态方法只能在类 X 中的其他静态方法中调用。

D. 类 X 中的非静态公共最终方法可以在 X 的任何子类中重写。

E. 类 X 中的公共静态方法可以由 X 的子类调用,而无需显式引用类 X。

F. 与类 X 中的私有最终方法具有相同签名的方法可以在 X 的子类中实现。

G. 仅当子类与 X 位于同一包中时,类 X 中的受保护方法才能被 X 的子类覆盖。

这个问题来自 SCJP。答案是BEF

我理解 BE,但 F 说该方法是“私有最终”,那么子类如何覆盖该方法,因为它定义为最终和私有方法。

请清除F点。

java

3
推荐指数
1
解决办法
7364
查看次数

chart.js 中的堆叠条形图在堆栈中具有不同的值

我想创建一个这样的堆栈图:

注意:每个堆栈具有不同的值

在此处输入图片说明

图表 js 可以吗?如果是,我的数据应该是什么样的?

我试过这个:

var data = {
    labels: ["2018", "2019"], //Want "value 1,2,3 for 2018 and value 4,5,6 for 2019"
    datasets: [
        {
            label: "Harpo",
            fillColor: "blue",
            data: []  // What should i use here 
        },
        {
            label: "Chico",
            fillColor: "red",
            data: []  // What should i use here
        }
    ]
};
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的。

任何帮助,将不胜感激。

javascript charts ng2-charts

2
推荐指数
1
解决办法
3824
查看次数

==和equals()之间的区别

我有个问题.我不知道这有什么意义,但我真的需要一个答案

当我使用"=="作为

Integer i1 =10;
Integer i2 = 10;
if(i1 == i2) {System.out.println("same object")}
Run Code Online (Sandbox Code Playgroud)

output =同一个对象

但是,如果我使用"=="

String obj1 = new String("xyz");

String obj2 = new String("xyz");

if(obj1 == obj2)
   System.out.println("obj1==obj2 is TRUE");
else
  System.out.println("obj1==obj2 is FALSE");
Run Code Online (Sandbox Code Playgroud)

输出= FALSE

我知道"=="运算符会查找对象的内存位置.但是在第一个例子中发生了什么 i1和i2不是不同的对象?

java

0
推荐指数
1
解决办法
224
查看次数

HashMap不添加重复键

import java.util.*;

class U {
    int x;

    U(int x) {
        this.x = x;
    }
}

public class G {
    public U a = new U(22);
    public U b = new U(23);
    Integer y = 22;
    Integer r = 23;

    void a() {
        Map<U, Integer> set = new HashMap<U, Integer>();
        set.put(a, y);
        set.put(a, r);
        set.put(b, y);
        System.out.print(set.size() + " ");
    }

    public static void main(String[] args) {
        G m = new G();
        m.a();
    }
}
Run Code Online (Sandbox Code Playgroud)

我总是对地图和列表感到困惑.我知道当map将密钥放入集合时,它会调用hashcode,如果存储桶相同,则调用equal方法.但是,我了解到,如果类重写这两个方法,则不会存储重复的键.例如包装类:String实现自己的hashcode和equal方法.此外,如果您不这样做,则会调用唯一的哈希码,并且重复的密钥将存储在集合中.

但是在上面的例子中,类U没有实现hashcode和equal方法.但是,Map不允许重复键.

我检查了SIZE:它的2应该是3,因为我的U类没有实现hashcode也没有.

请清除我

提前致谢

java collections scjp hashmap

0
推荐指数
1
解决办法
331
查看次数

标签 统计

java ×5

charts ×1

collections ×1

hashmap ×1

javascript ×1

ng2-charts ×1

scjp ×1