接口:
- 在java中,每个类只能一个父类,但一个接口可以使用extends关键字同时继承多个接口(多态化);
- (interface)相当于抽象类里的特殊类,一个类通过继承接口的方法,从而来继承接口的抽象方法;
- 接口类中只含有抽象方法和全局常量(默认方法为特例),且没有构造方法;
- 由于接口为抽象方法,所以接口对象同样不能实例化,
- 接口的子类(若不是抽象类),则必须重写接口中全部的抽象方法
- 接口对象可以利用子类对象的向上转型进行实例化。
例
//接口一
package experiment5;
public interface InterfaceOne//接口只有抽象方法和全局常量, 且接口没有构造方法,接口一;
{
default void getName()//但默认方法为特例
{
System.out.println("张三");
}
abstract int getAge();//接口一的抽象方法;
}
//接口二
package experiment5;
public interface InterfaceTwo
{
default void getName()
{
System.out.println("李四");
}
}
package experiment5;
public class InterfaceConbin implements InterfaceOne,InterfaceTwo//实现接口一和接口二
{
int age=10;
public InterfaceConbin (int age)//构造方法
{
this.age=age;
}
public int getAge()//普通方法;
{
return age;
}
@Override //重写接口的方法,子类方法修饰符为public,(子类的权限需大于或等于父类)
public void getName() {
System.out.println("王五");
InterfaceOne.super.getName();
}
}
package experiment5;
public class InterfaceTest
{
public static void main(String[] args)
{
InterfaceConbin obj1=new InterfaceConbin(22);
obj1.getName();
}
}