-1
public SampleBehaviour otherway(final String st) {
    return new SampleBehaviour() {
        private String str = st;

        @Override
        public void print() {
            System.out.println("val:"+val);
        }

    };
}

SampleBehaviour是一个接口。

实现接口的类必须定义方法行为,接口中的一些变量有什么用?

为什么方法参数需要是final的?我没有得到这种类型的使用的一些实时应用程序?这背后的真实情况是什么?

如果它有用,为什么 C++ 没有这样的东西?

4

1 回答 1

0

来自Java 语言规范,第 8.1.3 节:

任何使用但未在内部类中声明的局部变量、形参或异常参数都必须声明为 final。

维基百科说内部类需要保留自己的变量副本,因为它可以在外部类超出范围后继续存在;为了防止相同的变量名引用两个不同的位置,他们强制将变量固定到位。

于 2013-05-21T02:57:00.373 回答