java继承1—上溯造型
1. 代码
package com.xiyou.janie.chap5;public class Father {int i=1;public void f(){System.out.println("father");}public Father() {// TODO Auto-generated constructor stub}}
package com.xiyou.janie.chap5;public class Child extends Father{int i=14;public void f(){System.out.println("child");}public Child() {// TODO Auto-generated constructor stub}}
2.父类对象指向父类单元
Father a=new Father();
System.out.println(a.i);
a.f();
结果是 1
father
3.子类对象指向子类单元
Child a=new Child();
System.out.println(a.i);
a.f();
结果是:14
child
4.父类对象指向子类单元 ------ 上溯造型
Father a=new Child();
System.out.println(a.i);
a.f();
结果是:1
child
产生这个结果的原因:
子类定义与父类的同名变量,则对父类变量进行隐藏。(只要同名就隐藏,不管类型是否相同、是否都是类变量)
子类定义一个方法,与父类的成员方法原型相同,则对父类方法进行覆盖。
(要求: 返回类型、方法名、参数都完全一致;
子类方法的访问权限不能低于父类的权限;
子类方法不能比父类抛出更多异常;
满足这些才能实现方法覆盖)
所以:
对于父类来说,不知道子类是否有定义i 变量,所以只能输出自己的 i ;
但是由于方法是被覆盖的,所以调用的还是子类的方法。
java继承1—上溯造型相关推荐
- 【JAVA】 多态-上溯造型
上溯造型 之所以叫作上溯造型,除了有一定的历史原因外,也是由于在传统意义上,类继承图的画法是根位于最顶部,再逐渐向下扩展 由于造型的方向是从衍生类到基础类,箭头朝上,所以通常把它叫作"上溯造 ...
- java 上溯_java中Instrument的上溯造型
继承最值得注意的地方就是它没有为新类提供方法.继承是对新类和基础类之间的关系的一种表达.可这样总结该关系:"新类属于现有类的一种类型". 这种表达并不仅仅是对继承的一种形象化解释, ...
- [Java初学]Java上溯造型(upcasting)与下溯造型(Downcasting)
Java上溯造型(upcasting)与下溯造型(Downcasting) 上溯造型(upcasting) 这个术语缘于继承关系图的传统画法:将基类至于顶部,而向下发展的就是派生类. 文章使用的完整代 ...
- java上溯造型与下溯造型
Java的多态性 面向对象编程有三个特征,即封装.继承和多态. 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据. 继承是为了重用父类代码,同时为实现多态性作 ...
- Java——上溯造型下溯造型
public abstract class Animal {public abstract void speak();public void eat(){// 吃吃吃!!! } } public in ...
- Java 的上溯造型和下溯造型以及举例,以及判断参数等指向的类
(一) 先给出个例子,代码如下: /** * @author WangQun * 动物抽象类 */ abstract class Animal { public abstract void speak ...
- 封装、权限修饰符、javaBean规范、继承中封装、多态、关于上溯造型的解释。
一.封装 类 .方法.属性这些java中编程所涉及到的元素的访问权限控制 二.权限修饰符 修饰成员 public protected default private 本类中 ...
- java 下溯造型_Java——上溯造型下溯造型
public abstract class Animal { public abstract void speak(); public void eat(){ // 吃吃吃!!! } } public ...
- java 下溯造型_Java 的上溯造型和下溯造型以及举例,以及判断参数等指向的类
(一) 先给出个例子,代码如下: /** * @author WangQun * 动物抽象类 */ abstract class Animal { public abstract void speak ...
最新文章
- 【PHPWord】页面添加图片水印
- Linux不能上网ping:unknown host问题怎么解决?
- go语言笔记——defer作用DB资源等free或实现调试
- sphinx是支持结果聚类的——WHERE、ORDER BY和GROUP BY
- 1019.Line Painting(线段树 离散化)
- CSS 基础知识(一)
- php windows图片路径问题,解决PHP在Windows IIS 上传的图片无法访问的问题
- 【Python爬虫】股票数据定向爬虫
- PHP转换时间戳mktime,php日期转换为时间戳的方法
- 3月国内网站流量:腾讯夺第二 360安全中心降至第三
- mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容
- Git之Github使用(一):Push代码到Github
- 添加几行代码实现百度文库的复制
- Linux - 计划任务
- iscript脚本截取字符串
- 华为mate40pro有没有鸿蒙,mate40pro不能升级鸿蒙吗?我啥也不懂,完蛋了
- [Power Query] 汇总表
- Problem E: 薪酬计算
- 高考真的能改变命运吗?
- 基于51单片机的花样流水灯设计