1.接口可以多继承
public class ClassA implements IA,IB{
@Override
public void funcB() {
// TODO Auto-generated method stub
}
@Override
public void funcA() {
// TODO Auto-generated method stub
}
}
2.接口可以嵌套
public interface IA {
public void funcA();
public interface IAA{
public void funcAA();
}
}
3.接口支持常量
public interface IDB {
public static final String DATABASENAME="mydb";
public interface TABLES{
public interface STUDENT{
public static final String TABLENAME="tb_student";
public interface FIELDS{
public static final String ID="id";
public static final String NAME="studentName";
public static final String SEX="sex";
}
public interface SQL{
public static final String INSERT="insert into....";
public static final String UPDATE="udpate.....";
}
}
public interface TEACHER{
}
}
}
//使用方法,(记得导入接口)
public static void main(String[] args) {
String databaseName = IDB.DATABASENAME;
String id = STUDENT.FIELDS.ID;
String sql = STUDENT.SQL.INSERT;
}
4.小实验
//定义一个接口A
public interface A {
void a();
}
//定义一个接口B继承接口A
public interface B extends A {
void b();
}
//定义ClassA实现接口A
public class ClassA implements A{
public static void main(String[] args) {
// TODO 自动生成的方法存根
}
@Override
public void a() {
// TODO 自动生成的方法存根
}
}
//定义ClassB实现接口B
public class ClassB implements B {
@Override
public void a() {
}
@Override
public void b() {
}
}
结论:接口可以被继承,实现被继承的接口,需要实现父接口和接口本身的所有方法
//定义ClassC继承之前的ClassA没有实现A接口
public class ClassC extends ClassA{
public static void main(String[] args) {
A a=new ClassC();
a.a();
}
}
//定义ClassC继承之前的ClassA并且实现A接口
public class ClassC extends ClassA implements A{
public static void main(String[] args) {
A a=new ClassC();
a.a();
}
}
结论:父类实现的接口,用接口也可以调用子类的请求