接口: interface 接口名{
变量;
方法;
}
/**
* @author 司**
* @功能:接口的使用
*/
package com.InterFace;
public class Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
WuKong wk=new WuKong();
wk.jump();
wk.fly();
wk.swimming();
}
}
//接口
interface Fish{
public void swimming();
}
interface Bird{
public void fly();
}
class Monkey
{
int name;
public void jump()
{
System.out.println("我会跳!");
}
}
//子类只能继承一个父类(单继承),但是可以继承多个接口
class WuKong extends Monkey implements Fish,Bird
{
//悟空有猴子的能力还有鸟和鱼的能力
@Override
public void fly() {
// TODO Auto-generated method stub
System.out.println("我会飞");
}
@Override
public void swimming() {
// TODO Auto-generated method stub
System.out.println("我会游泳");
}
}
接口体现多态的例子:
/**
* @author 司**
* @功能:通过接口理解多态
*/
package com.InterFace;
public class Demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
CarShop carsell=new CarShop();
carsell.sellCar(new BWM());
carsell.sellCar(new CheryQQ());
System.out.println("总收入:"+carsell.getMoney());
}
}
interface Car
{
String getName();
int getPrice();
}
class BWM implements Car
{
@Override
public String getName() {
// TODO Auto-generated method stub
return "BWM";
}
@Override
public int getPrice() {
// TODO Auto-generated method stub
return 300000;
}
}
class CheryQQ implements Car
{
@Override
public String getName() {
// TODO Auto-generated method stub
return "奇瑞QQ";
}
@Override
public int getPrice() {
// TODO Auto-generated method stub
return 100000;
}
}
class CarShop
{
private int money=0;
//卖出一辆车的信息,
//此处(Car car)体现了多态(不知道car是宝马还是奇瑞)
//也体现了后期绑定(在运行时才知道car是bwm类还是奇瑞类)
public void sellCar(Car car) {
System.out.println("车型:"+car.getName()+",价格:"+car.getPrice());
money+=car.getPrice();
}
//卖车总收入
public int getMoney() {
return money;
}
}
运行结果:
final的使用: