接口(interface)
1 package cn.bjsxt.oop.testInterface; 2 /** 3 * 接口 是最抽象的类 只有声明 实现交给实现类 设计合实现分离 4 * 只有常量和抽象方法 JDK1.8之后 接口里也可以有普通方法(非抽象方法) 但必须加上default
public default void test(){方法体} 5 * @author Administrator 6 *容易分工 各自实现 7 */ 8 public interface MyInterface { 9 //只有常量和抽象方法 10 //接口中定义常量 public static final 是默认的 写不写都有 11 /*public static final */String MAX_GRADE = "BOSS"; 12 int MAX_SPEED = 120; 13
JDK1.8之后 接口里也可以有普通方法(非抽象方法) 但必须加上default
public default void test(){方法体}
14 /*public abstract*/ void test01(); 15 /*public abstract*/ int test02(int a,int b); 16 17 18 }
1 package cn.bjsxt.oop.testInterface; 2 3 public class MyClass implements MyInterface { 4 5 @Override 6 public void test01() { 7 // 8 System.out.println("test01"); 9 } 10 11 @Override 12 public int test02(int a, int b) { 13 // TODO Auto-generated method stub 14 return a+b; 15 } 16 17 }
1 package cn.bjsxt.oop.testInterface; 2 /** 3 * 实现类可以实现多个接口 4 * @author Administrator 5 * 6 */ 7 public interface Flyable { 8 int MAX_SPEED=11000; 9 int MIN_HEIGHT=1; 10 /*public*/void fly(); 11 } 12 interface Attack{ 13 void hit(); 14 } 15 class Plane implements Flyable{ 16 17 @Override 18 public void fly() { 19 // TODO Auto-generated method stub 20 System.out.println("飞机依靠发动机飞行"); 21 } 22 23 } 24 class Men implements Flyable,Attack{ 25 26 @Override 27 public void fly() { 28 // TODO Auto-generated method stub 29 System.out.println("跳起来。飞"); 30 } 31 32 @Override 33 public void hit() { 34 // TODO Auto-generated method stub 35 System.out.println("拳头打人"); 36 } 37 38 } 39 class Stone implements Flyable,Attack{ 40 41 @Override 42 public void fly() { 43 // TODO Auto-generated method stub 44 System.out.println("被人扔出去飞"); 45 } 46 47 @Override 48 public void hit() { 49 // TODO Auto-generated method stub 50 System.out.println(" 拿起石头攻击"); 51 } 52 53 }
1 package cn.bjsxt.oop.testInterface; 2 /** 3 * 接口可以多继承 4 * @author Administrator 5 *实现多继承接口 要实际所有继承的接口 6 */ 7 public interface InterfaceA { 8 void aaa(); 9 } 10 interface InterfaceB{ 11 void bbb(); 12 } 13 interface InterfaceC extends InterfaceA,InterfaceB{ 14 void ccc(); 15 } 16 class TestClass implements InterfaceC{ 17 18 @Override 19 public void aaa() { 20 // TODO Auto-generated method stub 21 22 } 23 24 @Override 25 public void bbb() { 26 // TODO Auto-generated method stub 27 28 } 29 30 @Override 31 public void ccc() { 32 // TODO Auto-generated method stub 33 34 } 35 36 }
posted on 2017-10-03 15:30 PoeticalJustice 阅读(307) 评论(0) 编辑 收藏 举报