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{
}