java - 访问内部类中的局部变量

标签 java

package geometry;

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

    class InnerTriangle {  
        public int base;
        public int height;
    }
}

Which statement is true about the class of an object that can reference the variable base?

A. It can be any class.

B. No class has access to base.

C. The class must belong to the geometry package.

D. The class must be a subclass of the class Hypotenuse

这是来自 SCJP Dumps,答案是“C”。据我所知,答案应该是“B”,因为内部类有一个名为“base”的局部变量,并且它只在内部类中有作用域。即使我想在“几何”类中使用这个变量,我也不允许这样做。

如果我错了,请指导我?

最佳答案

类 InnerTriangle 有一个“包级别”范围,因为您没有指定任何显式访问修饰符。这意味着允许类中的成员以及包中的成员访问该类。

这就是为什么“C”是正确答案的原因。

关于java - 访问内部类中的局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21759641/

相关文章:

java - 如何修复客户端代码以便通过组合实现代码重用?

java - 当我们有更简单的方法时为什么要使用同步关键字

java - 使用php将base64图像从android上传到服务器时出错

java - 在代码中生成新的 OAuthAccessToken 和 OAuthAccessTokenSecret

java - 无法通过 ng-submit="controller.delete() 对表单执行操作从数据库中删除项目

Java -version 打印错误的版本

java.lang.IllegalArgumentException : No converter found for return value of type

java - 从Android屏幕上删除图像

java - 将 X 小时添加到日期和时间

java - Java 是否有类似于 Android API 的基于事件的 Web 框架?