黑马程序员-Java基础07
2014-05-07 19:53
120 查看
-------
android培训、java培训、期待与您交流! ----------
多态:多种形态
1对象的多态性(类型提升,子类对象为父类型)
(提升的好处:提高了扩展性,隐藏子类型。提升的局限性:只能使用父类中的方法。如果子类有覆盖的话,运行的事子类的内容)
class 猫 extends 动物{}
class 动物{}
猫 cat=new 猫();
动物 cat=new 猫();(猫这个实例具备着两种形态,一个是猫另一个是动物。这就是多态性)
多态在程序中的体现:父类或者接口的引用指向了自己的子类对象。(父类型指向子类的对象)
2.多态的前提:
(1)必须有继承或者实现的关系
(2)通常都有覆盖的操作
3.多态的好处:提高了程序的扩展性,在思想上也有不同,以前是面对一个对象调用,对象多了调用麻烦。
相当于指挥一批对象做事情,将复杂的事情简单化。
多态的弊端:多态的出现,虽然可以让前期的程序使用后期的内容。
不可以使用子类的特有内容。
注意:对于子父类类型转换动作,自始至终都是子类对象在做类型的转换而已。
4.向下转型需要注意:父类型向下转成子类型,因为子类型不唯一,所以需要进行判断。
用到的关键字是 instanceof:对象 instanceof 类型
Animal an=new Cat();
if(an instanceof Cat)
{
Cat c=(Cat)an;
c.猫中特有的方法;
}else if(an instanceof Dog)
{
Dog d=(Dog)an;
d.狗中特有的方法;
}
5.多态中的特点:
(1)成员变量:多态调用时,对于成员变量,无论是编译还是运行,结果只参考引用型变量所属的类中的成员变量。(参考等号左边)
(2)成员函数:多态调用时,对于成员函数,编译时参考引用型变量所属类中是否有被调用的方法,有,编译通过,没有,
编译失败。运行时,参考的事对象所属的类中是否有调用的方法。(编译看左边,运行看右边)
(3)静态函数:多态调用时,编译和运行都看左边。
六、Object:所有类的超类
所有对象都具备的方法定义在该类中
android培训、java培训、期待与您交流! ----------
多态:多种形态
1对象的多态性(类型提升,子类对象为父类型)
(提升的好处:提高了扩展性,隐藏子类型。提升的局限性:只能使用父类中的方法。如果子类有覆盖的话,运行的事子类的内容)
class 猫 extends 动物{}
class 动物{}
猫 cat=new 猫();
动物 cat=new 猫();(猫这个实例具备着两种形态,一个是猫另一个是动物。这就是多态性)
多态在程序中的体现:父类或者接口的引用指向了自己的子类对象。(父类型指向子类的对象)
2.多态的前提:
(1)必须有继承或者实现的关系
(2)通常都有覆盖的操作
3.多态的好处:提高了程序的扩展性,在思想上也有不同,以前是面对一个对象调用,对象多了调用麻烦。
相当于指挥一批对象做事情,将复杂的事情简单化。
多态的弊端:多态的出现,虽然可以让前期的程序使用后期的内容。
不可以使用子类的特有内容。
注意:对于子父类类型转换动作,自始至终都是子类对象在做类型的转换而已。
4.向下转型需要注意:父类型向下转成子类型,因为子类型不唯一,所以需要进行判断。
用到的关键字是 instanceof:对象 instanceof 类型
Animal an=new Cat();
if(an instanceof Cat)
{
Cat c=(Cat)an;
c.猫中特有的方法;
}else if(an instanceof Dog)
{
Dog d=(Dog)an;
d.狗中特有的方法;
}
5.多态中的特点:
(1)成员变量:多态调用时,对于成员变量,无论是编译还是运行,结果只参考引用型变量所属的类中的成员变量。(参考等号左边)
(2)成员函数:多态调用时,对于成员函数,编译时参考引用型变量所属类中是否有被调用的方法,有,编译通过,没有,
编译失败。运行时,参考的事对象所属的类中是否有调用的方法。(编译看左边,运行看右边)
(3)静态函数:多态调用时,编译和运行都看左边。
六、Object:所有类的超类
所有对象都具备的方法定义在该类中
相关文章推荐
- I007-黑马程序员_毕向东_Java基础视频教程第01天-07-Hello World
- 黑马程序员_java基础笔记(07)...IO流
- 黑马程序员_java基础笔记(07)...IO流
- 黑马程序员_java基础学习笔记07_IO流
- 黑马程序员 25 Java基础加强-07-动态代理篇
- 黑马程序员--java 基础之IO流 字节流与转换流 --07
- 黑马程序员--Java基础加强--07枚举、反射、注释
- 黑马程序员_Java基础_面向对象(三)_07
- 黑马程序员——Java语言基础——07.IO流(1)字符流和字节流
- 黑马程序员--Java基础加强--07.【反射创建对象 操作字段 调用方法的异同】【个人总结】
- 【黑马程序员】Java基础07:集合框架与典型应用
- 黑马程序员——Java语言基础——07.IO流(2)File类和其他流
- 黑马程序员---java基础---07多线程
- 黑马程序员 07 Java基础教学 - 07 - 面向对象(3) 之 继承、抽象、接口
- 黑马程序员_java基础笔记(07)...IO流
- 黑马程序员_java编程基础07面向对象
- 黑马程序员-Java基础总结07——多线程
- 黑马程序员——Java基础--编程基础(1)
- 黑马程序员--Java基础--14JavaBean,注解,类加载器
- 黑马程序员——Java基础---继承和抽象