package java_learning;
interface A{
public static final String str="hello,我是接口A";
public abstract void print();
}
interface B{
public abstract void get();
}
//C接口同时继承了A和B两个接口
interface C extends A,B{//使用的是extends
public void funC();
}
class Y implements C{
@Override
public void print() {
// TODO 自动生成的方法存根
}
@Override
public void get() {
// TODO 自动生成的方法存根
}
@Override
public void funC() {
// TODO 自动生成的方法存根
}
}
class X implements A,B{
@Override
public void get() {
System.out.println("实现接口B的抽象方法get()");
}
@Override
//void print() { 不能降低自 A 继承的方法的可视性
/*这是因为接口中默认是public修饰,若子类中没用public修饰,则访问权限变严格了,给子类分配的是更低的访问权限。
* 所以,在定义接口的时候强烈建议在抽象方法前加上public ,*/
public void print() {
System.out.println("实现接口A的抽象方法print()");
}
}
public class interface_test {
public static void main(String[] args){
X x = new X();//实例化子类对象
x.print();
x.get();
A a = x;//向上转型
B b = x;//向上转型
a.print();
b.get();
}
}
interface_test
最新推荐文章于 2021-04-26 23:57:46 发布