码迷,mamicode.com
首页 > 其他好文 > 详细

抽象类和抽象方法接口和多态

时间:2017-09-06 00:42:26      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:boolean   创建   new   规范   另一个   区别   功能   成员   根据   

抽象类与普通类的区别:
1、抽象类中可以写抽象方法,普通类不可以;
2、抽象类不能直接创建对象,普通类可以;
3、抽象类中可以没有抽象方法,但是仍然不能创建对象。

抽象类的常见问题
1、抽象类一定是父类,因为是不断向上抽取而来。
2、实际开发中,建议先写抽象的父类,在根据具体的子类编写功能。
3、有抽象方法的类一定是抽象类,在抽象类中,可以没有抽象方法。
没有抽象方法的类是一种特殊的设计模式;(适配器模式)
4、如果抽象A定义了一个抽象的a方法,如果B类继承A的时候,没有重写a方法,B类也必须抽象。


(接口和多态)
接口中只能写两种成员:一种是常量(需要使用final关键字修饰),另一种是抽象方法
接口不能直接创建对象
接口可以继承接口,而且可以多继承
接口与类之间的关系,只能是类实现接口
一个类在继承另一个类的时候,可以实现多个接口
当子类实现多个接口时,出现相同的方法规范时,只需要重写一次即可。
该类必须重写接口中所有的抽象方法;如果不能全部重写,那么这个类只能是抽象类。


接口与抽象类的区别:
相同点:
1、都不能创建对象
2、都可以写抽象方法
3、都必须有子类才可以创建子类的对象

多态:
表现形式:父类或接口类型 变量名 = new 子类();
多态必须有继承或实现,才可以实现多态的形式
多态形式下方法执行的规则
当父类有某个方法的时候(不论是否为抽象方法),多态形式下的子类对象,都可以调用该方法
,如果父类中没有这个方法(子类中有),那么多态形式下的子类对象是 不能直接调用子类独有的方法。
总结:编译看左边,运行看右边;
多态形式下的成员变量:编译和运行都看左边

多态的类型转换

类型的自动提升
小转大,java自动转型
大的数据类型 变量名 = 小的数据值

强制类型转换
大的数据类型 变量名 = (大的数据类型)被转换的对象

instanceof关键字用来判断多态形式下的对象的原始类型
格式:多态形式的对象 instanceof 数据类型,返回值类型为boolean类型
类型强制下降

抽象类和抽象方法接口和多态

标签:boolean   创建   new   规范   另一个   区别   功能   成员   根据   

原文地址:http://www.cnblogs.com/dubin382460/p/7482322.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!