package SS; abstract interface A {// 定义一个接口A public static final String MSG = "hello";// 全局常量 口中的变量会被隐式的指定为 public static final 变量(并且只能是 public,用 private 修饰会报编译错误。 public abstract void print();// 抽象方法 接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。 } abstract interface B {// 定义一个接口B public abstract void get(); } class X implements A, B {// X类实现了A和B两个接口 //implements是一个类实现一个接口用的关键字, //它是用来实现接口中定义的抽象方法。 //实现一个接口,必须实现接口中的所有方法。 @Override public void print() { //public abstract void print();// 接口A中的抽象方法 System.out.println("接口A的抽象方法print()"); } @Override public void get() { //public abstract void get();//接口B中的抽象方法 System.out.println("接口B的抽象方法get()"); } } public class Inteface { public static void main(String[] args) { //主方法 X x = new X(); // 实例化子类X对象 A a = x; // 向上转型 把类X对象转型给接口A,成为接口A的对象 用于调用X类中实现过的接口A中的方法 B b = x; // 向上转型 把类X对象转型给接口B,成为接口B的对象 用于调用X类中实现过的接口B中的方法 a.print(); b.get(); } }
时间: 2024-11-05 16:33:18