Java 下面的片段是什么意思?
我认为这是java中的关键工作,类名如何跟在后面?这是特别的吗Java 下面的片段是什么意思?,java,Java,我认为这是java中的关键工作,类名如何跟在后面?这是特别的吗 java的特性?它是一种从内部类访问封闭类的隐式实例的方法。例如: TestClass.this.onError(error); 有关内部类和封闭实例的详细信息,以及限定的this表达式,请参见: 通过明确限定关键字this,可以引用任何包含词汇的实例§8.1.3 设C是由ClassName表示的类。设n为整数,使得C是出现限定此表达式的类的第n个词汇封闭类 形式为ClassName的表达式的值。这是该表达式的第n个词汇封闭实例
java的特性?它是一种从内部类访问封闭类的隐式实例的方法。例如:
TestClass.this.onError(error);
有关内部类和封闭实例的详细信息,以及限定的this表达式,请参见:
通过明确限定关键字this,可以引用任何包含词汇的实例§8.1.3
设C是由ClassName表示的类。设n为整数,使得C是出现限定此表达式的类的第n个词汇封闭类
形式为ClassName的表达式的值。这是该表达式的第n个词汇封闭实例
表达式的类型是C
从一个内部类,您正在从包含它的TestClass实例调用Instant方法。您可以从类的内部类使用Instant方法,它将引用外部类 例如,如果你有一个Cat类
public class Test {
private final String name;
public Test(String name) {
this.name = name;
}
public static void main(String[] args) {
Test t = new Test("Jon");
// Create an instance of NamePrinter with a reference to the new instance
// as the enclosing instance.
Runnable r = t.new NamePrinter();
r.run();
}
private class NamePrinter implements Runnable {
@Override public void run() {
// Use the enclosing instance's name variable
System.out.println(Test.this.name);
}
}
}
Jon,C中有类似的东西吗?@Adamle:C中没有嵌套类,它不像Java中的内部类那样工作;没有隐式的封闭实例。它们更像Java中的静态嵌套类。
public class Cat {
private int age;
private Tail tail;
public Cat(int age) {
this.age = age;
this.tail = new Tail();
}
class Tail {
public void wave() {
for(int i = 0; i < Cat.this.age; i++) {
System.out.println("*wave*");
}
}
}
public Tail getTail() {
return tail;
}
/**
* @param args
*/
public static void main(String[] args) {
new Cat(10).getTail().wave();
}
}