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—上溯造型相关推荐

  1. 【JAVA】 多态-上溯造型

    上溯造型 之所以叫作上溯造型,除了有一定的历史原因外,也是由于在传统意义上,类继承图的画法是根位于最顶部,再逐渐向下扩展 由于造型的方向是从衍生类到基础类,箭头朝上,所以通常把它叫作"上溯造 ...

  2. java 上溯_java中Instrument的上溯造型

    继承最值得注意的地方就是它没有为新类提供方法.继承是对新类和基础类之间的关系的一种表达.可这样总结该关系:"新类属于现有类的一种类型". 这种表达并不仅仅是对继承的一种形象化解释, ...

  3. [Java初学]Java上溯造型(upcasting)与下溯造型(Downcasting)

    Java上溯造型(upcasting)与下溯造型(Downcasting) 上溯造型(upcasting) 这个术语缘于继承关系图的传统画法:将基类至于顶部,而向下发展的就是派生类. 文章使用的完整代 ...

  4. java上溯造型与下溯造型

    Java的多态性 面向对象编程有三个特征,即封装.继承和多态. 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据. 继承是为了重用父类代码,同时为实现多态性作 ...

  5. Java——上溯造型下溯造型

    public abstract class Animal {public abstract void speak();public void eat(){// 吃吃吃!!! } } public in ...

  6. Java 的上溯造型和下溯造型以及举例,以及判断参数等指向的类

    (一) 先给出个例子,代码如下: /** * @author WangQun * 动物抽象类 */ abstract class Animal { public abstract void speak ...

  7. 封装、权限修饰符、javaBean规范、继承中封装、多态、关于上溯造型的解释。

    一.封装 类 .方法.属性这些java中编程所涉及到的元素的访问权限控制 二.权限修饰符 修饰成员 public      protected      default     private 本类中 ...

  8. java 下溯造型_Java——上溯造型下溯造型

    public abstract class Animal { public abstract void speak(); public void eat(){ // 吃吃吃!!! } } public ...

  9. java 下溯造型_Java 的上溯造型和下溯造型以及举例,以及判断参数等指向的类

    (一) 先给出个例子,代码如下: /** * @author WangQun * 动物抽象类 */ abstract class Animal { public abstract void speak ...

最新文章

  1. 【PHPWord】页面添加图片水印
  2. Linux不能上网ping:unknown host问题怎么解决?
  3. go语言笔记——defer作用DB资源等free或实现调试
  4. sphinx是支持结果聚类的——WHERE、ORDER BY和GROUP BY
  5. 1019.Line Painting(线段树 离散化)
  6. CSS 基础知识(一)
  7. php windows图片路径问题,解决PHP在Windows IIS 上传的图片无法访问的问题
  8. 【Python爬虫】股票数据定向爬虫
  9. PHP转换时间戳mktime,php日期转换为时间戳的方法
  10. 3月国内网站流量:腾讯夺第二 360安全中心降至第三
  11. mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容
  12. Git之Github使用(一):Push代码到Github
  13. 添加几行代码实现百度文库的复制
  14. Linux - 计划任务
  15. iscript脚本截取字符串
  16. 华为mate40pro有没有鸿蒙,mate40pro不能升级鸿蒙吗?我啥也不懂,完蛋了
  17. [Power Query] 汇总表
  18. Problem E: 薪酬计算
  19. 高考真的能改变命运吗?
  20. 基于51单片机的花样流水灯设计

热门文章

  1. vue mounted
  2. cloud全家桶介绍
  3. 四川省某市智慧海绵城市监测系统案例分享
  4. 手把手教你设置公众号菜单栏
  5. ANSYS MESHING网格种类及区别
  6. 达内python培训班靠谱吗
  7. 诚之和:没了“全网最低价”,薇娅李佳琦靠什么支撑背后公司上市?
  8. 微信api接入验证的坑!!!
  9. Visual Studio 2010带来的新机遇、新特性和新动力
  10. 2022-2027年中国消防器材制造行业发展前景及投资战略咨询报告