对java类override的探讨
来源:互联网 发布:提高数据分析能力 编辑:程序博客网 时间:2024/05/01 04:20
package com.xiuye.note;public class TestClassOverrideMethod {public static void main(String[] args) {System.out.println("第一组:");A a = new B();a.f(new C());//其实是父方法f的参数C类a.f(new D());//其实是父方法f的参数C类 //f只是父类的方法System.out.println("第二组:");B b = new B();b.f(new C());//其实是子类重载f方法C类b.f(new D());//其实是子类重载f方法D类System.out.println("第三组:");E e = new E();e.f(new C());//f方法C类e.f(new D());//f方法D类//采用最佳适配策略//以上充分说明子类重载了f方法即使是D是C的子类,但仍是两个不同的类//可以重载}}class A{void f(C c){c.f();}}class B extends A{void f(D d){d.f();d.g();}}class C{void f(){System.out.println("c.f");System.out.println("=========");}}class D extends C{void f(){System.out.println("d.f");System.out.println("=========");}void g(){System.out.println("d.g");System.out.println("=========");}}class E{void f(C c){System.out.println("e.f.c");System.out.println("=========");}void f(D d){System.out.println("e.f.d");System.out.println("=========");}}
运行结果:
第一组:c.f=========d.f=========第二组:c.f=========d.f=========d.g=========第三组:e.f.c=========e.f.d=========
引用:
0 0
- 对java类override的探讨
- 对Java多态性综合运用的探讨
- 对java技术String的探讨
- 对java技术String的探讨续
- 对enum的探讨
- Java @Override的作用
- java的Override
- java @Override的作用
- java @Override的作用
- java 的 @Override
- java 的@Override 标签
- Java的@override作用
- Java @Override的作用
- Java的@Override
- 对部分不常见的JAVA关键字的探讨
- 对java中double类型的精度问题探讨
- java对hashCode()和equals()方法的探讨
- 新手上路,对java的肤浅理解,探讨交流
- scrollView中设置ImageView大小
- android资源目录---assets与res/raw区别
- Swift学习 下标脚本subscript和类扩展Extension
- 小随记
- Your project contains error(s),please fix them before running your application
- 对java类override的探讨
- 数字签名的加密解密过程 和 私有密钥的加密解密过程
- 深入理解Canvas Scaler
- oracle课堂收录-触发器
- Storyboard doesn't contain a view controller with identifier 'UIViewController'
- ps 笔记
- linux——read指令
- 在Javascript面向对象设计一
- MFC中使用opencv获取海康摄像头视频