一、接口定义的增强:从JDK1.8开始允许在接口中定义普通方法,使用default和static关键字,跟在访问修饰符之后,两种的区别是,default定义的普通方法用对象调用,static定义的方法用接口名调用
interface IBook {
public void read();
//接口中定义普通方法---default、static
default void write() {
System.out.println("写书");
}
static void study() {
System.out.println("学习");
}
}
class BookImp implements IBook {
@Override
public void read() {
// TODO Auto-generated method stub
}
}
public class Main {
public static void main(String[] args) {
BookImp b = new BookImp(); //也可以 IBook b = new BookImp();
//对象调用default标记方法
b.write();
//接口名调用static方法
IBook.study();
}
}
二、其他:JDK1.8中还有一个重要概念,内部类访问方法变量的时候可以不用加上final关键字
class Book {
String title;
public void write() {
System.out.println("写书");
}
class study {
public void learn() {
//访问方法变量
title = "11";
}
}
}