接口: 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的使用: