java 接口
程序员文章站
2022-06-13 21:32:05
...
/**
* 关于接口的经典案例,用接口实现多态
* 接口中定义的方法为抽象方法,实现接口的类必须实现接口中的所有的方法
* 接口中的方法默认的是 public abstract
* 接口中的变量默认的是public static常量
* 接口中只有常量定义和public的abstract方法定义,所以一般在定义方法和常量的时候允许省略public abstract final
* 常量可以被实现接口的类的对象调用,也可以用类名或者接口名调用
* 如果声明的是public interface那么该接口能够被任何一个类使用,如果声明的是interface,那么友好接口只能在同一个包中的类使用
* 父类使用了某个接口,子类也就继承了这个接口
* 接口也可以被继承,子接口要实现父接口的所有的方法
* 接口只关心功能,不关心实现
* 前期绑定是在编译的时候就能够确定的类型,如果在编译的时候不能确定她的类型的话,那就是后期绑定
* @author chanxiaoxi
*
*/
//定义一个汽车的接口
interface Car{
//获取汽车名
String getName();
//获得汽车售价
int getPrice();
}
//定义宝马汽车类
class BMW implements Car{
//实现Car接口的抽象方法getName()
public String getName(){
return "Car's name is BMW";
}
//实现Car接口的抽象方法getPrice()
public int getPrice(){
return 300000;
}
}
//定义奇瑞QQ汽车类
class CherryQQ implements Car{
public String getName(){
return "Car's name is cherryqq";
}
public int getPrice(){
return 20000;
}
}
public class CarShop {
private int money=0;//售车收入
//麦车函数
public void sellCar(Car car){//形参是接口的对象
System.out.println("车型:"+car.getName()+";"+"价格:"+car.getPrice());
money+=car.getPrice();//计算收入
}
//获取收入
public int getMoney(){
return money;
}
public static void main(String[] args){
CarShop acarshop=new CarShop();
acarshop.sellCar(new BMW());
acarshop.sellCar(new CherryQQ());
}
}
/**
* 从以上事例中可以看出,如果我要在添加一辆车的话只定义相关的类,然后再将对象传入就可以了
* 接口应该作为一部分来理解还是作为全部来理解,或者他们应该具备这两个特性功能
* */
上一篇: 软文营销的作用及软文营销实战技巧
下一篇: Java接口