导师建议拥有一个个人博客,将每天的收获分享到个人博客里,算是一个总结。我这个编程小白偷了一个月的懒之后,今天终于准备开始更新自己的博客了。开心开心 ^^ ^^ ^_^
最近在看程杰著的大话设计模式一书,感觉非常棒,但是竟然是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、抽象类中可以赋予方法默认行为,即构造函数
接口中不能定义构造函数,要使用委托。