local-class

    2热度

    1回答

    我是Java新手,正在尝试学习本地类的概念。我目前正在阅读关于Offical Java Documentation Oracle的本地类的章节。我在本章遇到两个似乎互相矛盾的陈述。有人知识渊博,能否帮助我了解哪种说法是正确的?或者他们都是正确的,只是我对这个概念的理解还没有。 本地类可以访问局部变量。但是,本地类只能访问声明为最终的局部变量。 本地类是非静态的,因为它们可以访问封闭块的实例成员。

    1热度

    1回答

    public class Main { public static void main(String[] args) { int b=1; final int c=2; String s1[] = new String[]{"A","B","C"}; class InnerMain{ int a=5;

    1热度

    2回答

    请看看这个片断: public class A { void method() { System.out.print(B.j);//This is legal! class C { void method() { System.out.print(j);//This is illegal! } }

    0热度

    3回答

    由于朋友函数可以在本地类中声明,如以下示例所示。在函数定义中定义的本地类的成员不能在其外部访问时,如何用它访问本地类的成员? void foo() { void bar(); class MyClass { int x; friend void bar(); }; } void bar() { // error: canno

    2热度

    4回答

    我只是试验内部类,并遇到了本地但静态的内部类的想法...以及我在静态方法内做了一个内部类..以及它只是简单的.. 这里是我做的例子 class Outer { static void m() { class LocalStatic { void s() { System.out.println("static local inner clas

    -3热度

    2回答

    在HelloWorldAnonymousClasses示例程序(from here): /* * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. * * Redistribution and use in source and binary forms, with or without * mod

    2热度

    2回答

    我想使用本地函数对成员变量类型std :: list进行排序。由于C++不允许本地函数,因此Herb Sutter建议使用本地类,所以我最终得到了下面的代码。但我不知道如何将函数指针传递给std::list::sort()函数。 void MyClass::UpdateList() std::map<ClassA*, int> myCustomOrder; //contains orde

    0热度

    2回答

    我正在Java中使用单一方法实现特定算法。这个算法需要一个不会在其他地方使用的数据结构,所以我认为适合使用本地类。算法的最后一步需要遍历方法中早先创建的所有对象,所以我认为我会让本地类的构造函数将新创建的对象添加到列表中。在Java中,本地类可以访问声明为final的局部变量。所以,我想是这样的: public void doThing() { class Foo { pu

    -1热度

    1回答

    由于我们不能将static修饰符与在方法内部定义的本地类一起使用,并且由于Nonstatic嵌套类是Inner类,所以我们可以说方法local类是Inner类的一种类型。 但是另一方面,我们说内部类的实例不能存在没有封闭类的Live实例。但是在静态方法中定义的方法本地类的一个实例可以存在没有实例的封闭类,对吧? 那么我从中得出什么结论呢?第一个逻辑告诉我,本地类是一个内部类的类型,第二条推理告诉我

    3热度

    1回答

    当重载operator()不够或者当我需要虚函数或其他东西时,有些情况下我必须选择lambda上的本地类。 嗯..例如: 我需要捕捉局部变量,并拥有一个以上的功能,这些功能,可惜的相同签名的对象。 重载lambda可以解决这样的问题,如果功能是不同的签名。我认为这是一个常见的问题,因为有lambda重载技巧。 我需要一个对象捕获局部变量并继承一些其他类或具有成员变量。 这是每天在java世界发生的