接口也能继承接口
只能单继承也可以多级继承
Interface A{
}
interface B extends A{
}
interface C extends B{
}
接口可以多实现
Interface A{
public void smoking();
Interface B{
Public void smoking1();
}
Interfacee C extends A{
public void smoking2();
}
Class D implements C,B{
public void smoking(){
}
public void smoking()1{
}
public void smoking()2{
}
interface A{
public void smoking();
}
interface B{
public void sleep();
}
interface C extends A{
}
interface D extends B{
}
class E implements C{
//继承了接口那也要实现接口中的方法
public void smoking () {
System.out.println("正在睡觉");
}
}
class F implements D{
public void sleep() {
System.out.println("正在抽烟");
}
}
public class C13 {
public static void main(String [] args) {
E e=new E();
e.smoking();
F f=new F();
f.sleep();
}
}
接口不能直接实例化,必须有实现类class Javateacher implements TeacherSery
interface TeacherSery{
public void sleep();
public void smoking();
在接口中定义的都是常量,常量如果是单个单词要全部大学,如果是多个单词要用下划线区分
float PI=3.14f;//此处默认为final是个固定常量,不能修改
float PI=3.14f;等同于public static final float PI=3.14f;
}
//class 类名 implements 接口名,接口名。。。{
要实现接口中的每一个方法
实现接口的类必须实现接口中的所有的方法
}
class Javateacher implements TeacherSery{
public void sleep() {
System.out.println("正在睡觉");
}
public void smoking () {
System.out.println("正在抽烟");
}
}
public class C13 {
public static void main(String [] args) {
Javateacher j=new Javateacher();
j.sleep();
j.smoking();
//和类属性一样可以被接口名调用也能被类名调用
System.out.println(j.PI);
System.out.println(TeacherSery.PI);
//TeacherSery.PI=6.28f;PI为常量不能被修改
}
}