/*
样例1:class Parent{int num = 3;}class Child extends Parent{int num = 4;}
*//*
样例2:
class Parent{}class Child extends Parent{int num = 4;
}
*//*
样例3:
class Parent{void show(){System.out.println("Parent Show!");}}class Child extends Parent{void show(){System.out.println("Child Show!");}}
*//*
样例4:
class Parent{}class Child extends Parent{void show(){System.out.println("Child Show!");}}
*/class Parent{static void show(){System.out.println("Parent Show!");}}class Child extends Parent{static void show(){System.out.println("Child Show!");}}public class PC{public static void main(String[] args){Parent p = new Child();//样例1://System.out.println(p.num);// 3, 输出的是父类的num;//样例2://System.out.println(p.num);// 错误: 找不到符号 num//样例3://p.show();//Child Show!  输出的是子类的方法!//样例4://p.show();//  错误: 找不到符号   p.show();//样例5:p.show();// Parent Show!  运行父类的静态方法。}
}/*
总结:
对象多态时:
1.成员变量:(不涉及覆盖)
编译时: 参考引用变量所属的类中是否有调用的成员变量, 有, 编译通过,没有,编译失败。
运行时: 参考引用变量所属的类中是否有调用的成员变量, 并运行该类所属中的成员变量。
简单的说:编译和运行都参考等号的左边。
2.成员函数(非静态):
编译时:参考引用变量所属的类中是否有调用的成员变量, 有, 编译通过, 没有,编译失败:
运行时:参考的是对象所属的类中是否有调用的函数。
简单的说:编译看左边, 运行看右边。
3.静态函数, 变量:编译和运行都是参考左边参数类型!其实静态方法不存在多态, 静态方法是属于类的,我们说的是对象的多态!静态方法直接用类名调用就好了,没必要创建对象!    静态的方法只能被静态的方法所覆盖!*/

  

转载于:https://www.cnblogs.com/hujunzheng/p/3872619.html

java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况相关推荐

  1. java根据父类找子类_在java中实现多态时,可以通过父类变量引用子类的对象。_学小易找答案...

    [单选题]对于字符串s="java",下面哪个选项返回字符在字符串中'v'的位置( ). [简答题]汽车核保的主要内容 [判断题]在java中产生子类对象时,直接调用子类的构造方法 ...

  2. Java 多态中成员变量与成员属性的特点【复习】

    package firstchapter;/*** 多态中成员变量与成员属性的特点*/ public class polymorphic {public static void main(String ...

  3. 浅析Java中对象的创建与对象的数据类型转换

    这篇文章主要介绍了Java中对象的创建与对象的数据类型转换,是Java入门学习中的基础知识,需要的朋友可以参考下 Java:对象创建和初始化过程 1.Java中的数据类型     Java中有3个数据 ...

  4. 通过实例说明Java中的多态

    转载自:ZXSOFT's Blog - 张旋.NET Java中的多态允许父类指针指向子类实例.如:Father obj=new Child();(其中Child是Father的子类).这样就产生了一 ...

  5. 何为Java 中的多态?

    Java 中的多态一般分为两种:重写式多态和重载式多态. 重载式多态,也叫编译时多态.也就是说这种多态再编译时已经确定好了.重载大家都知道,方法名相同而参数列表不同的一组方法就是重载.在调用这种重载的 ...

  6. Java中对象的串行化(Serialization)和transient关键字

    Java中对象的串行化(Serialization)和transient关键字 前言: 该篇文章参考自网上资料,但是部分内容经过笔者更改,因此算作原创吧,原文地址: http://www.golden ...

  7. java中实现多态的机制

    多态性是面向对象程序设计代码重用的一个重要机制,我们曾不只一次的提到Java多态性.在Java运行时多态性:继承和接口的实现一文中,我们曾详细介绍了Java实现运行时多态性的动态方法调度:今天我们再次 ...

  8. Java中的多态:什么是多态?

    Java中的多态:什么是多态? 多态性是面向对象编程的三大重要特征之一,它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类 ...

  9. java中实现多态的机制是什么_java多态机制是什么

    java多态机制是什么 java中实现多态的机制是依靠父类或接口的引用指向子类.从而实现了一个对象多种形态的特性.其中父类的引用是在程序运行时动态的指向具体的实例,调用该引用的方法时,不是根据引用变量 ...

最新文章

  1. 2018年全球十大新兴技术:细胞植入人体、营养人造肉……你想试试吗?
  2. 2字节取值范围_第二篇——整数和浮点数在计算机中的表示(2)
  3. UITableView 关键操作
  4. ×××S 2008 实用小技巧
  5. java 对象传递给方法_java – 将对象值传递给方法
  6. Java学习小程序(2)输出三个数中的最大值
  7. iOS5 UI 设计新手段 Storyboard
  8. Redis 与 key 相关的常用命令
  9. Sun公司网站上的Swing实例,想学Swing的不看后悔
  10. Flask11 Session、CSRF、注销session、利用端点自动跳转
  11. 拉普拉斯变换公式表_工程数学中的积分变换的总结
  12. CSS(十六)——美化表单实操
  13. mac安装win10_VMware mac虚拟机安装Win10系统的详细教程
  14. Establishing SSL
  15. VC环境中获取窗体标题栏的位置和高度
  16. 利用快代理搭建自己的代理池(妈妈再也不用担心IP被封了)
  17. 【实例】python 使用beautifulSoup 抓取网页正文 以淘宝商品价格为例
  18. [ML] Genetic Algorithm 理论概述
  19. masonry ajax瀑布流,jquery.masonry瀑布流插件的4个使用步骤
  20. git学习笔记[idea整合GitHub,Gitee](非常详细)

热门文章

  1. java reader utf-8_解決BufferedReader读取UTF-8文件中文乱码(转)
  2. 如何写一个bat批处理自动上传文件到FTP
  3. Spring Tool Suite 4 自动提示功能
  4. Docker镜像备份与迁移
  5. 前端常用 JavaScript 方法封装
  6. 可能这些是你想要的H5软键盘兼容方案
  7. oracle中sga的合理设置,oracle学习:SGA_MAX_SIZE参数设置
  8. mysql获取用户权限api_AnalyticDB MySQL服务关联角色
  9. linux的trace文件路径,linux系统分析工具之Blktrace(十)
  10. linux 内核裁剪的具体过程和方法,Linux内核裁剪的具体过程和方法