先通过代码简单描述一下你的问题:

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. 获取随机数的方式Random类对象的方法 java 0913

    获取随机数的方式Random类对象的方法 java 0913 Random类 实例化这个类得到一个对象 利用对象的方法获取整数 代码 import java.util.Random;public cl ...

  2. vue中组件之间调用方法——子组件调用父组件的方法 父组件调用子组件的方法

    vue中组件之间调用方法--子组件调用父组件的方法 & 父组件调用子组件的方法 1.vue中子组件调用父组件的方法 1.1.第一种方法是直接在子组件中通过this.$parent.event来 ...

  3. Java的基础方法Java的对象_java基础之 创建对象的几种方式

    有4种显式地创建对象的方式: 1.用new语句创建对象,这是最常用的创建对象的方式. 2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor ...

  4. $emit传递多个参数_10年架构师深解java核心技术:方法参数+对象构造,确定不学?...

    方法参数 首先回顾一下在程序设计语言中有关参数传递给方法(或函数)的一些专业术语.值调用(call by value)表示方法接收的是调用者提供的值.而引用调用(call by reference)表 ...

  5. java 反射 set方法_java 反射调用set方法

    Java语言中的许多库类名称,多与咖啡有关.下面是小编为您带来的java 反射调用set方法,希望对大家有所帮助. java 反射调用set方法: import java.beans.Property ...

  6. java 异步调用方法_java异步调用方法有哪些?如何实现异步调用?

    你知道java异步调用方法都有哪些吗?下面的文章内容,就对这方面的问题做了一下整理,一起来看看java异步调用的方法吧! 1.利用Spring的异步方法去执行 注:没有返回值 在启动类又或者是配置类加 ...

  7. java基础类,方法和对象

    api 即为应用程序编程接口,英文为Application programming interface System System.currentimeMillis 获取毫秒数(事件戳) System ...

  8. java 动态调用方法_Java动态调用方法

    public void function(String str) { //根据 str的值 调用相应的方法 } public void test() { //code } 如str的值为test,就调 ...

  9. java怎么调用方法_Java怎么调用类方法

    Java调用类方法的步骤:首先新建一个类,在调用类中先进行被调用类实例化:然后通过实例化的对象访问:最后新建一个类,将该类中需要被调用的方法设置为静态,加了static后,就可以用类名直接调用,格式为 ...

  10. JAVA基础之方法的递归调用

    1.基本说明 递归调用就是在当前的函数中调用当前的函数并传给相应的参数,这是一个动作,这一动作是层层进行的,直到满足一般情况的的时候,才停止递归调用,开始从最后一个递归调用返回. 简单的说:递归就是方 ...

最新文章

  1. java导入包写在第二行的吗_使用Java命令行方式导入第三方jar包来运行Java程序的命令...
  2. 《OpenGL超级宝典第5版》学习笔记(一)—— 第一个OpenGL程序
  3. 用户太多太杂,搞不懂怎么办?“分门别类”将拯救你
  4. [Leetcode][第44题][JAVA][通配符匹配][贪心][动态规划]
  5. C++:15---异常机制
  6. java查询SQLServer遇到问题:对象名无效。
  7. 信息学奥赛一本通 1925:【03NOIP普及组】麦森数 | OpenJudge NOI 4.4 1708:麦森数 | 洛谷 P1045 [NOIP2003 普及组] 麦森数
  8. 某页纸api接口网站源码 高速php源码
  9. thinkphp redis队列处理_教你用ThinkPHP中thinkphpqueue
  10. 用微软makecert.exe生成一个自签名的证书
  11. python图像增强算法_python 图像增强算法实现详解
  12. 软件项目管理(学习笔记)
  13. 第10章第4节:使用iSlide的统一色彩命令统一修改某个颜色 [PowerPoint精美幻灯片实战教程]
  14. 修改macOS中鼠标滚轮方向
  15. java workbook.close_找不到符号Workbook.close()
  16. 基础Constants用法
  17. 【ML从入门到入土系列01】概述
  18. The Fool HDU 6555 思维/数论
  19. 扒一扒DDR4的新功能和PCB设计上的一些注意事项--转
  20. 结构体 5.火星人足球赛

热门文章

  1. Error:Execution failed for task ':app:lint'.
  2. POST数据加密问题
  3. ADT(abstract data types)抽象数据类型
  4. Mysql + keepalived 实现双主热备读写分离
  5. 怎么设置Linux swap分区?方法教程
  6. 基于Sendmail、Dovecot和Ssl的电子邮件服务器搭建——从不安全通信到安全通信
  7. 报错Caused by: org.hibernate.AnnotationException: No identifier specified for entity: com.liuyanzhao.b
  8. Mybatis无法获取带有下划线前缀的字段的值
  9. python @符号_注意!大佬提醒你python初学者这几个很难绕过的坑,附教程资料
  10. 【HDU4456】Crowd(曼哈顿距离转切比雪夫距离+二维坐标hash离散化+二维树状数组)