java中的接口和抽象

来源:互联网 发布:哈登身体数据 编辑:程序博客网 时间:2024/05/22 15:22

一、抽象是对一类事物的抽象,是对类的抽象。抽象类不能实例化。含有抽象方法的类必须声明为抽象类,抽象类中可以没有抽象方法。可以有任意类型的变量和方法。abstract 不能修饰变量,只能修饰方法和类。可以有静态代码块和静态方法。可以有构造函数。一个类只能继承一个抽象类。抽象方法必须是非静态的。抽象类可以继承非抽象类。任何类的基类是object.
二、接口是对类的行为方法的一种抽象。接口不能实例化。接口中的方法必须声明为public abstract,全部都是没有实现的方法,变量必须被声明为public static final;不可以有静态代码块和静态方法。不可以有构造函数,一个类可以实现多个接口。
联系:抽象类可以现实接口,不可以继承一个接口。继承是(is -a关系)
组合和继承的关系:
组合是has-a的关系,是整体和部分的关系。
继承是is-a的关系,是子类和父类的关系。将两个类或者多个类结合使用就是组合。
设计模式的原则就是多用组合少用继承。

0 0