摇曳的蔷薇

先通过代码简单描述一下你的问题:public interface A {}public class B implements A {  public void b() {}}public abstract class C {  private A a;  public void setA(A a) {    this.a = a;  }  ...}public class D extends C {  ...  public void d() {    // 此处想通过this.a访问到对象B的b方法  }}修改方式一:public abstract class C {  protected A a;  public void setA(A a) {    this.a = a;  }  ...}public class D extends C {  ...  public void d() {    // 此处通过this.a访问到传入对象B的b方法    if(this.a instanceof B) {      ((B) this.a).b();    }else {       ...    }  }}修改方式二:public abstract class C {  private A a;  public void setA(A a) {    this.a = a;  }  protected A getA() {    return a;  }  ...}public class D extends C {  ...  public void d() {    // 此处想通过getA()访问到传入对象B的b方法    A a = getA();    if(a instanceof B) {      ((B) a).b();    }else {       ...    }  }

java 对象调用_java 对象调用相关推荐

  1. java初始化实例化_Java对象的创建过程:类的初始化与实例化

    一.Java对象创建时机 我们知道,一个对象在可以被使用之前必须要被正确地实例化.在Java代码中,有很多行为可以引起对象的创建,最为直观的一种就是使用new关键字来调用一个类的构造函数显式地创建对象 ...

  2. java 对象复活_Java对象复活

    java 对象复活 总览 收集覆盖了finalize()的对象之后,将其添加到终结处理队列中,以在调用每个对象的finalize()方法之后进行清理. 如果您复活了物体,会发生什么? 何时定案? fi ...

  3. java开源对象池_JAVA 对象池

    GenericObjectPool利用一个org.apache.commons.collections.CursorableLinkedList对象来保存对象池里的对象.这种对象池的特色是: 可以设定 ...

  4. java clone方法_JAVA对象clone方法代码实例解析

    1.Cloneable接口 这个接口一个方法都没有,但是要使用clone方法,就必须实现这个接口,否则抛出CloneNotSupportedException异常 2.clone方法的返回值 先附上两 ...

  5. java浅度克隆_java对象 深度克隆(不实现Cloneable接口)和浅度克隆

    为什么需要克隆: 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说 ...

  6. java list对象排序_Java 对象集合List排序的5种方式

    目标明确 排序对象类 public class Student{ private String name; private Integer age; public Student(String nam ...

  7. java jol原理_Java对象布局(JOL)实现过程解析

    java对象布局JOL(java object layout),描述对象在堆内存的布局.如下图: 1.markword 固定长度8byte,描述对象的identityhashcode,分代年龄,锁信息 ...

  8. java 对象结构_java对象的结构

    在Hotspot JVM中,32位机器下,Integer对象的大小是int的几倍? 我们都知道在Java语言规范已经规定了int的大小是4个字节,那么Integer对象的大小是多少呢? 要知道一个对象 ...

  9. java中对象类型转换_Java 对象类型的转换

    对象类型的转换在Java编程中经常遇到,主要分为向上转型和向下转型,但一定要记住,无论是向上转型还是向下转型,两个类之间必须有继承关系.先来看看基本概念. 向上转型又被称作自动类型转换,就是子类引用的 ...

  10. java 静态链接_java如何调用静态链接库里面的函数?

    我现在有静态链接库文件:libtest.a里面有很多.o目标文件,其中一个目标文件在linux下使用nm命令查看其中包含的部分函数:kmer_counter.o:UA_memcpyU__cxa_ate ...

最新文章

  1. hadoop无法访问50070端口怎么办?
  2. PHP的chunk_split() 函数把字符串分割为一连串更小的部分
  3. 切片器可以设置日期格式?_Power BI 中的切片器
  4. verilog设置24进制计数器_阅读笔记:《Verilog HDL入门》第3章 Verilog语言要素
  5. android手动创建数据表,Android开发—数据库应用—手动创建(SQLite)数据库--手动创建数据表(table)...
  6. [rsync] linux rsync 安装
  7. python 多关键字排序_用Python排序字​​典
  8. Discuz大气游戏风格模板/仿lol英雄联盟游戏DZ游戏模板GBK
  9. linux 空格变问号,遭遇UTF-8编码转换后,空格变成问号的问题
  10. c# 数字转大写中文
  11. 台式计算机没有声音图标,电脑没有声音怎么回事 电脑没有声音怎么恢复 电脑声音图标不见了...
  12. Linux内核与编程
  13. SRM 475 DIV1 900
  14. html流星雨页面,纯CSS流星雨背景的示例代码
  15. 扫描软件Nessus官网下载地址和高级扫描使用方法
  16. 会动的古代名画,如画的江南古镇
  17. sklearn预测pima糖尿病
  18. 如何在NP下读写游戏内存及如何进入NP进程
  19. 高等数学学习笔记(汤家凤)
  20. 智慧安防方案升级后,商家年年续保,我每年都有稳定收入,躺赚!

热门文章

  1. ABAP Netweaver上调用Java程序
  2. SAP云平台CloudFoundry上部署了一个应用的技术明细
  3. 关于Business Document save时是否设置distribution lock的问题
  4. HTTPS和TCP的关系
  5. 如何使用jMeter发送两个逻辑上相关的HTTP请求
  6. java 应用程序无法运行_关于解决浏览器无法运行小应用程序问题
  7. 如何在redhat8里使用gcc命令_如何使用DISM命令行工具修复Windows 10映像
  8. 如何定义一个类对象并用next()的方法使用_深入理解-可迭代对象、迭代器(20个为什么)...
  9. datetimepicker弹出窗在iframe中部分遮挡_美军下一代班组武器项目,NGSW中的小秘密,你了解多少?...
  10. 平衡树-Treap基础内容