1- 接口中可以定义有方法体的方法, 如果是非静态的方法必须使用default修饰;
2- 局部内部类在访问它所在的方法中的局部变量的时候不用使用final修饰;(会自动带上final)
class Demo1 {
public static void main(String[] args) {
/*Demo d = new Demo();
d.print();
Inter.method();*/
Demo d = new Demo();
d.run();
}
}
interface Inter {
public default void print() {
System.out.println("Hello World");
}
public static void method() {
System.out.println("static method");
}
}
class Demo implements Inter {
public void run() {
int num = 10; //JDK8,前面的final可以省略
class Inner {
public void fun() {
System.out.println(num);
}
}
Inner i = new Inner();
i.fun();
}
}