关于接口和抽象类

导师建议拥有一个个人博客,将每天的收获分享到个人博客里,算是一个总结。我这个编程小白偷了一个月的懒之后,今天终于准备开始更新自己的博客了。开心开心 ^^ ^^ ^_^

最近在看程杰著的大话设计模式一书,感觉非常棒,但是竟然是C#语言的,我这个编程小白唯一稍微会一点的大概就是java了吧,所以我决定 把里面的代码改写成java版本,锻炼一下自己的编程技能,顺便在博客里做个记录呀!

接口:
interface Demo {
void method();
}
class Demo1 implements Demo {
void method1 (){
………
}
}

抽象类:
abstract class DemoA {
abstract void methodA();
}
class DemoB extends DemoA{
void methodB (){
……..
}
}

关于接口和抽象类的区别:
1、从设计理念上来讲 接口(interface)代表着一种 like-a的关系,它代表了一种程序的协定。抽象类(abstract class)代表了 一种is-a的关系,即子类是父类的一种,比如麻雀是一种鸟。
2、一个类只能继承自一个抽象类,但是可以实现多个接口。
3、抽象类中可以有自己的数据成员和非abstract方法
接口中只能有 static final 类型的数据成员,和abstract方法
4、接口中的变量默认public static final类型,而且必须为其赋初值。实现类中不能重新定义,也不能改变其值。
接口中的方法默认都是public abstract类型
5、抽象类中的变量默认friendly类型,子类可重新定义,重新赋值
6、抽象类中可以赋予方法默认行为,即构造函数
接口中不能定义构造函数,要使用委托。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值