黑马--程序员 总结 : 多态性 动态连接 动态调用 加典型的例子!
来源:互联网 发布:数据库关系模型举例 编辑:程序博客网 时间:2024/04/28 06:48
/*class Parents //父类{public void print(){System.out.println("Parents");}}class zi extends Parents{public void print(){System.out.println("zi");}}class mother extends Parents{public void print(){System.out.println("mother");}}class text{public void find(Parents p){p.print();}}class Demo{public static void main(String[] args){text t =new text();zi zi = new zi();mother m = new mother();t.find(zi);t.find(m);}}要理解多态性,首先要知道什么是向上转型我定义了一个子类cat,他继承了Animal类,那么后者就是前者的父类。我可以通过Cat c =new Cat ();实例化一个cat的对象,这个不难理解。但当我这样定义时:Animal a =new Cat();这代表什么意思呢?很简单,他表示我定义了一个Animal类型的引用,指向新建的Cat类型的对象。由于CAT 是继承自他的父类Animal,所以Animal类型的引用是可以指向CAT类型的对象的。那么这么做有什么意义呢?因为子类是对父类的一个改进和扩充,所以一般子类在功能上较父类更强大,属性较父类更独特。定义 一个父类类型的引用指向一个子类的对象,既可以使用子类强大的的功能,又可以抽取父类的共性。 所以,父类类型的引用可以调用父类中定义的所有属性和方法,而对于字类中定义而父类中没有定义的方法,它是无可奈何的;同理,父类中的一个方法只有在父类中定义 而在字类中没有重写的情况下,才可以被父类类型的引用调用。对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接。*/class Father{public void func1(){func2();}public void func2(){System.out.println("AAA");}}class child extends Father{public void func1(int i){System.out.println("BBB");}public void func2(){System.out.println("CCC");}}class Demo{public static void main(String[] args){Father child =new child();child.func1();}}总结: 上面是一个很典型多态的例子。子类child继承了父类father,并重载了func1()方法,也重载了func2()方法。重载后func1()和func1(int i)不是在一个方法。父类类型引用child 就不能调用子类中的func1(int i)方法。父类类型引用child 调用func1()该方法时,输出的是父类中的func1(),func1里面运行的又是func2 AAA,但是,子类已经把父类的func2已经覆盖,所以最后输出的是子类中的CCC 1:父类类型引用指向子类类型对象2:该引用只能调用父类中定义的方法和变量3:如果子类中重写了父类中的方法,那么调用该方法时,运行的是子类中的方法。 (动态连接。,动态调用)4:变量不能被重写或者覆盖。重写的概念只针对方法。如果在子类中重写了父类中的变量,那么会抱错。
- 黑马--程序员 总结 : 多态性 动态连接 动态调用 加典型的例子!
- 黑马程序员-动态代理的小总结
- 黑马程序员_代理,动态代理的经典总结
- 黑马程序员-----代理之动态代理总结*
- <黑马程序员>代理模式总结-动态代理
- vb调用VC动态连接库的总结
- 典型的动态规划
- 黑马程序员-JAVA的多态性
- 黑马程序员------Java的多态性
- 动态多态性
- JAVA多态性 之动态连接详解
- 简单的动态连接库,例子
- 运行时动态调用子程序的例子
- 黑马程序员 动态代理
- 黑马程序员-动态代理
- 黑马程序员 动态代理
- 黑马程序员-动态代理
- 黑马程序员--动态代理
- Servlet利用Commons FileUpload实现文件上传
- Android中 int 和 String 互相转换的多种方法
- 手机测试 总结1
- js小程序
- 世界上最遥远的距离
- 黑马--程序员 总结 : 多态性 动态连接 动态调用 加典型的例子!
- java字符型练习
- 深入体验JavaWeb开发内幕——JSP技术相关案例应用
- 2012-11-7 11gR2 "ADMINISTRATOR'S GUIDE" page 763 - 808
- java自动装箱、拆箱——Integer细节
- A common thread sync issue analysis of android application
- 屏幕解锁和点亮
- execl()函数
- sgu 174 Walls