java学习笔记(1)——有关接口

接口:

 1 interface intf0{
 2     public void doSomething();
 3 }
 4 interface intf1{
 5     public void doAnything();
 6 }
 7 class fenzhi0 extends main implements intf0{
 8     @Override
 9     public void doSomething() {
10         // TODO Auto-generated method stub
11         System.out.println("iphone");
12     }
13     public void input() {
14         System.out.println("bed");
15     }
16 }
17 class fenzhi1 extends main implements intf1{
18     @Override
19     public void doAnything() {
20         System.out.println("car");
21     }
22     public void input() {
23         System.out.println("origin");
24     }
25 }
26 public class main {
27     public void input() {
28         System.out.println("A");
29     }
30     public static void main(String[] args) {
31         // TODO Auto-generated method stub
32         fenzhi0 test0 = new fenzhi0();
33         test0.doSomething();
34         test0.input();
35         fenzhi1 test1 =new fenzhi1();
36         test1.doAnything();
37         test1.input();
38         intf0 a = new fenzhi0();
39         a.doSomething();
40         intf1 b = new fenzhi1();
41         b.doAnything();
42     }
43 
44 }

输出结果:

代码中:

fenzhi0类与fenzhi1类,分别实现了intf0和intf1接口,所以必须覆盖接口中的方法。

也继承了main类,这里也重写了input方法。

主函数输出代码中,体现了接口既可以向下转型,也可以向上转型的操作。

 

Java中不允许多重继承,但使用接口就可以实现。因为一个类可以同时实现多个接口。

语法如下:

class class_name implements intf0,intf1{

    @Override
    public void doAnything() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void doSomething() {
        // TODO Auto-generated method stub
        
    }
}

 

当然接口也可以继承另外一个接口

代码:

interface intf2{
    
}
interface intf3 extends intf2{
    
}

 

posted @ 2020-03-17 17:57  菠菜面筋  阅读(203)  评论(0编辑  收藏  举报