inner-classes相关内容
给出以下代码段 class Config { private val conf = ConfigFactory.load() object Http { val host = conf.getString("http.host") val port = conf.getInt("http.port") } } 如何模拟内部单例对象Http的host和port
..
有人可以用一种易于理解的方式解释Java中合成字段的重要性.我记得在非静态内部类的上下文中阅读过它,其中每个这样的内部类实例都维护对封闭类的引用.为什么将这些引用/字段称为合成字段? 解决方案 合成字段是编译器创建的字段,该字段将本地内部类链接到块的本地变量或引用类型参数.编译器综合某些隐藏字段和方法,以实现名称范围.除非另有说明,否则这些字段是私有的,或者它们最多属于软件包范围.您可以获
..
当您要访问某些layout.xml文件中的自定义视图时,有两种选择: 该视图位于其自己的类中.然后,您执行 该视图是一个内部类: 现在,我想在
..
struct foo { struct bar { ~bar() {} // no error w/o this line }; bar *data = nullptr; // no error w/o this line foo() noexcept = default; // no error
..
Quoth JLS#8.1 .3 : 内部类不能声明静态初始化程序( 这是这样证明的: class A { class B { static { // Compile-time Error: Cannot define static initializer in inner type A.B System.out.println("Cl
..
我可以理解什么是内部类以及如何编写程序.我的问题是程序员在什么情况下真正需要内部类? 解决方案 有时,某些功能最好用一个对象来表示,但是仅在另一个对象的上下文中才有意义,而不必公开外部环境,并且可以从访问父类数据中受益(以免违反封装). 我能想到的最好的例子是将Node类放入LinkedList中.节点仅对LinkedList有意义,因此它们仅存在于一个节点中. LinkedList
..
在内部类中,可以访问外部类的变量,但不能访问方法的局部变量.我了解关于方法的局部变量不可访问的部分,但我想知道为什么外部类变量可访问? 我的理解是,由于内部类与外部类绑定,因此只要父级可用,子级就可以访问其父级变量.我说得对吗? 解决方案 假定您的外部类称为Outer,从内部类的范围(非静态)开始,为Outer.this.foo./p> 例如, Outer.this.foo=
..
我有以下代码: public class MyClass { class Inner { int s, e, p; } public static void main(String args[]) { Inner in; } } 到目前为止,代码还不错,但是我无法在像in = new Inner()这样的主要方法中实例化"in",因为它显示
..
我想做的是执行onSuccess方法时,queryLogin返回true,而如果执行onFailuer方法,则queryLogin返回false; 但是,正如您所知,在Java中,我无法从内部类修改外部类的值.所以我只是想知道如何解决这个问题并实现我的目标. public static boolean queryLogin(String username, String passowrd)
..
我有这些代码行.我知道您不能将非最终变量传递给内部类,但是我需要将变量i传递给匿名内部类以用作SeatingID.你能建议这样做的方法吗? JButton [] seats = new JButton [40]; //creating a pointer to the buttonsArray for (int i = 0; i
..
我有一个模板类.它具有模板功能.两者都采用不同的模板参数.有一个内部类需要与该封闭类的模板函数交朋友.编译器错误比比皆是.以下玩具示例显示了我的问题. 首先,当然会编译以下内容(VS 2017): template class Class1 { public: Class1() = default; ~Class1()
..
如果一个类是局部内部类,是否意味着它在另一个类的方法内部,或者它只是在某个地方的另一个方法中定义。 例如,在下面的代码中,MenuListener是否被视为内部本地类? import java.awt。* ; import java.awt.event。*; import javax.swing。*; 公共类MenuDemo扩展了JFrame { private Co
..
我有一个关于成员内部类中顶级类可访问性的查询。 我刚刚读了本地或匿名内部类只能访问最终变量的原因,原因是JVM将这两个类作为完全不同的类来处理,因此,如果一个类中变量的值发生变化,它将无法然后在运行时反映到另一个类文件中。 然后,我的问题是内部成员类(非静态)如何能够访问top成员的成员级别类,因为JVM仍将这两个类视为不同的类文件?如果顶级类的成员变量的值发生更改,那么在运行时如何在内部
..
比方说我有一个这样的课程: 公共课程OuterClass { // ... private class InnerClass { private int x; //此变量有意义 public int y; //有什么用吗? } } 在上面的代码中,由于内部类是私有的,只有外部类才能访问其所有变量,甚至是私有变量。内部类本身对周围的外部类是不可见的。
..
考虑以下代码: class abstract Normal1扩展了某些内容 { } 类外部 { 类摘要内部扩展普通1 { } } 类General扩展Outer.Inner //在此 { } 发生问题我得到的错误是“由于一些中间构造函数调用,没有PerfHelper类型的封闭实例可用”。 我的问题是可以像上面那样扩展内部类吗? p>
..
当我试图了解如何在Java中使用集合时,我意识到我不了解多态如何为内部类工作. 简单的代码示例: class Parent { public static void main(String[] args) { new Parent().newInnerClass().myMethod(); new Child().newInnerClass()
..
我有两个特征,一个扩展了另一个,每个具有一个内部类,一个扩展了另一个,具有相同的名称: trait A { class X { def x() = doSomething() } } trait B extends A { class X extends super.X { override def x() = doSomething
..
有人可以告诉我开设内部类课程的目的是什么?我可以想到一些,但也许它们不是使用内部类的充分理由.我的理由是,当您要使用其他任何类都无法使用的类时,内部类会很有用.还有什么? 解决方案 内部类可用于模拟闭包: http://en.wikipedia.org/wiki/Closure_(computer_science)#Java
..
我正在尝试从另一个内部类中引用一个内部类.我都尝试过: class Foo(object): class A(object): pass class B(object): other = A 和 class Foo(object): class A(object): pass class B(object): other =
..
我知道内部类可以访问外部类中的所有内容(因为它是该类的成员),但是反过来又如何呢? 外部类可以访问内部类中的私有变量和方法吗? 我看过一些文章提到内部类应该是私有的,以便它们只能由外部类访问.这对内部类的可访问性有什么影响? 涉及内部类时,处理访问级别的最佳实践是什么?我假设封装越多越好,但这是以牺牲可访问性为代价的吗? 解决方案 Effective Java(第二版)第
..