接口和抽象类

什么时候使用接口?什么时候用抽象类?

接口主要用来描述行为
抽象类主要用来描述属性或已经知道的方法实现


/**
* 使用接口,而使用抽象类做不到
*/
interface A{
void run();
}
interface B{
void walk();
}
interface C{
void jump();
}

/*
* 如果一个人只需要实现 跑、走、跳的一种,当然只需实现他需要的接口
* 但如果一个人需要实现 跑、走、跳三种,接口也很容易实现,
* 因为一个类可以实现多个接口,这点抽象类做不到
*/
class D implements A{}
class D implements A,B,C{}

/**
* 使用抽象类,而使用接口做不到
* 抽象类可以描述子类共有的属性和已知方法的实现,
* 这点接口做不到,因为接口里的属性都是常量
*/
abstract A{
private String name;
private String sex;
public abstract void run(){
/*
* 比如在这里面可以做一些事情,
* 而接口里面的方法不能做到,接口里面的方法只能是抽象方法
*/
System.out.println("正常人的跑");
}
}

class B extends A{
//这时,如果B也是正常的跑,就不必重写父类的方法
}
class C extends A{
//这时,C说他是飞跑,那就必须重写父类的方法
public void run(){
Sysotem.out.println("飞跑");
}
}

不知例子是否恰当,请批评指正.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值