重写-问一个关于override的问题

问题描述

问一个关于override的问题

问一个关于override的问题,小弟基础不是很强悍,望见谅,请问在android中重写了父类接口中的方法后,子类中重写的该方法时何时会被调用? 简单说就是下面的代码何时会被调用到,如何调用
@override
public void check{

............

}

解决方案

子类内部调用 check、外部通过子类变量调用 check,都是调用子类的重写方法。
如果把子类赋给一个父类变量,通过父类变量调用 check,都变成调用父类的方法了。

解决方案二:

你确定把子类赋给父类变量,通过父类变量调用check,调用的是父类的方法?????

解决方案三:

你 new 出来的对象是哪个对象就调用哪个类的check方法,引用不管是父类型还是子类型,调用的方法只和你new出来的实体对象类型相关。

解决方案四:

Class classFather{
classFather();
check(){
syso("classFather check")
}
}

Class classSon extend classFather{
classSon();
check(){
System.out.println("classSon check");
}
}

main(){
classFather cf= new classSon();
cf.check();

classFather newcf=(classFather)cf;
newcf.check();

}

输出分别都是 classSon check
一句话,当左右类不同的时候,左边能够写出来的方法是左边类的方法,=右边是真正执行的方法所属于的类,也就是对象属于哪个类,new谁,执行谁的方法,如果进行了强制类型转换,对象是new谁的还是不变的。

解决方案五:

从new的实例开始,向父类寻找,先找到谁就调谁

时间: 2024-11-28 14:07:26

重写-问一个关于override的问题的相关文章

java-新手问一个很奇怪的问题

问题描述 新手问一个很奇怪的问题 class Demo { int num = 1; int add = 2; Demo() { num = 5; add = 6; } void show() { System.out.println("Fu num="+num+" Fu add="+add); } } class DemoA extends Demo { DemoA() { this.num = 3; this.add = 4; } void show() { S

变量-问一个我自己都觉得低端的问题,有关js页面的,忘记怎么个原理了

问题描述 问一个我自己都觉得低端的问题,有关js页面的,忘记怎么个原理了 就是我在配置文件properties中定义了多个不同 key-value,然后页面上就用到了这个变量的key取到了value的值,搞不明白是怎么回事了,各位,帮解答一下吧 解决方案 你是用了插件吧. js通过ajax读取properties文件文本内容,回调函数中接收文件内容(即整个文件内容是一个大字符串),再对这个字符串做转换处理,最终转换为js对象 转换逻辑:根据换行符来拆分成数组(一行一个键值对),再对每一行数据根据

新手,问一个略显小白的问题

问题描述 新手,问一个略显小白的问题 怎样对一个已经编写好的程序进行二次编写?若已知该程序是有什么编写的,如何进行编写,若未知呢? 解决方案 二次编写就是根据你的需要再次修改编写的代码,比如添加某功能或者删除某功能. 如果不知道程序是怎么编写的,你要自己实现的话,就是初次编写了. 解决方案二: 咦,就我看来,首先你要明白这个程序实现的是什么功能,然后你想通过这个程序,来达到什么效果,然后你以你的思路进行重构代码,或者重写一个程序, 调用那个程序,这就是二次编写了.

对象-JAVA 菜鸟 问一个菜鸟问题 list 的排序问题

问题描述 JAVA 菜鸟 问一个菜鸟问题 list 的排序问题 简化一下 list 情况 比如 一个 student 类 只有两个参数 学号 sno 和 成绩 grade 现全放入 ArrayList中 如何按成绩 将 学生对象排序 实现目标如下即可 002 97 003 95 001 90 求各位路过大神 不吝指教后生 解决方案 先自己定义一个对比的方法类 class MyIntComparator implements Comparator{ public int compare(Objec

activity-我想问一个关于android代码的问题,本人初学者

问题描述 我想问一个关于android代码的问题,本人初学者 我创建了一个activity,显示一个textview,一个button,和一个edittext,布局和注册活动都做了,为什么打开应用就闪退,提示说打不开 首先是Activity package come.xample.uiactivity; import com.example.uiactivity.R; import android.app.Activity; import android.os.Bundle; import an

逻辑训练-问一个逻辑问题,关于离散数学的

问题描述 问一个逻辑问题,关于离散数学的 本人信息安全专业最近学到离散数学讲到一个蕴含关系想问问大家一个思维问题就图里画线部分.p 蕴含q 在日常生活中可以变成类似于只有 q才 p 这个要怎么理解它?利用集合来理解可以吗 解决方案 离散数学不太清楚了,就理解的话,应该可以使用集合来理解,p蕴含q,说明q是p的组成要素,如人是由各种器官组成的,比如心脏,只有心脏存在,才能存在人.也就是说q是p的必要不充分条件. 解决方案二: 离散数学不太清楚了,就理解的话,应该可以使用集合来理解,p蕴含q,说明q

代码-问一个win32application中,我创建了对话框,

问题描述 问一个win32application中,我创建了对话框, 在对话框中我拖进去编辑框控件,问题是如何使用编辑框,得到输进去的数字求求各位高手了,最好有具体代码,感激不尽!!! 解决方案 用GetDlgItem获取编辑框窗口句柄,用GetWindowText获取编辑框内容,用atoi等函数将字符串转换成整数或者用 GetDlgItemInt 解决方案二: 直接用GetDlgItemInt就可以了.不需要什么"G?e?t?DlgItem获取到控件,然后GetWindowText获取控件文本

pyqt-求问一个PyQt的问题,退出时候内存错误

问题描述 求问一个PyQt的问题,退出时候内存错误 1C 写了一个pyqt的程序,有多个tab页,其中一个tab页是通过matplotlib画图,当这个模块存在时,整个程序在退出的时候就会出现exit code -1073741819,这个是出现了内存错误.但是当我去掉这个模块时,程序不会出现这个问题.而且当我把其他的tab页注释掉,仅仅只有这模块的时候,也不会出问题.这说明,这应该是这个模块与其他的某个模块导致了问题. 于是我一个模块一个模块的注释,想找到到底哪个模块与这个画图的模块同时会导致

安卓-没有代码,我单纯的想问一个关于二维码的问题

问题描述 没有代码,我单纯的想问一个关于二维码的问题 就是说,我在视频上学会了在安卓手机上如何扫描二维码,但是我尝试着扫描一些广告的二维码,他返回的数据就是一个网址,但是我现在要实现的功能是: 每个学生都有自己的二维码,上面有他们的信息,我要制作一个扫二维码的功能来实现对他们二维码的扫描,然后将该学生的信息显示到手机上面,请问这个应该怎么实现呀,我应该再在程序里面加什么呢 解决方案 看你二维码里面是什么,如果是学员ID,你可以扫完之后去学校的学生系统里面去根据id去得到这个用户的信息,不知道对不