您的位置:首页 > 编程语言 > Java开发

java基础知识点之多态,接口,抽象类

2014-08-16 22:31 351 查看


Java基础知识点

多态

在运行时,子类的对象可以转换为父类类型,而父类的对象实际上无法转换为子类类型
Java编译器允许在具有直接或间接继承关系的类之间进行类型转换,对于向上转型,Java编译器会自动进行,对于向下转型,需要进行强制类型转换在运行时环境中,通过引用类型变量来访问所引用对象的方法和属性时,Java虚拟机采用以下绑定规则:

实例方法与引用变量实际引用的对象的方法绑定,这种绑定属于动态绑定,因为是在运行时由Java虚拟机动态决定的。

静态方法与引用变量所声明的类型的方法绑定,这种绑定属于静态绑定,因为实际上是在编译阶段就已经绑定。

成员变量(静态变量,实例变量)与引用变量所声明的类型的成员变量绑定,这种绑定属于静态绑定,因为实际上是在编译阶段就已经绑定 。

接口

接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量(大写,单词之间用"_"分隔)。

接口中的方法默认都是public,abstract类型的(都可省略),没有方法体,不能被实例化。接口中只能包含public,static,final类型的成员变量和public,abstract类型的成员方法。

接口中没有构造方法,不能被实例化。

一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口。

接口必须通过类来实现它的抽象方法。

当类实现了某个接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象的。

不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例。

抽象类

抽象类是不能直接实例化对象的。

抽象类的子类必须重写父类的抽象方法,才能实例子化,否则子类也是一个抽象类。

抽象类可以含有普通数据,普通方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐