Java的面向对象思想
多态性:
一种方法有多种实现,采用哪一种实现由Java虚拟机在运行时动态决定,这种能力成为动态绑定(dynamic binding),也称为多态性(polymorphism)(源于一个希腊单词,意为“多种形式”)
接口与抽象:
接口就是一种特殊的抽象,很多文章上都介绍了接口和抽象之间的具体区别。习惯上,我们定义一个接口是这样定义的:public interface ITest{};但当我看到这样的定义时:
public abstract interface ITest{},我疑惑了一会,两种定义有什么区别?其实是一样的;
public interface Inter {//编译器解释为public abstract interface Inter
int i=0; //编译器解释为:public final static i=0;
static int j=0; //编译器解释为:public final static j=0;
final static int k=0; //编译器解释为:public final static...
public int m =3; //编译器解释为:public final static ...
final int n=3; //编译器解释为:public final static ...
void Hello(); //编译器解释为:public abstract void Hello();
abstract void Say(); //编译器解释为:public abstract void Say();
}
接口是规范程序中某些实现了该接口的类具有统一的某些行为,接口强调行为的描述,而抽象类强调对象的描述,这也是使用时的区别;在接口中,所有的数据域都是public final static的,所有的方法都是public abstract 的,由于这个原因,Java可以忽略这些修饰符。
利用关键字extends,一个接口可以继承另一个接口,这样的接口成为子接口,如:public interface Inter extends Serializable;Java对类的扩展只允许单重继承,但对接口允许多重继承,如public class NewClass extends BaseClass implements Interface1,...,InterfaceN{};