java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况
/*
样例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中对象多态时成员变量,普通成员函数及静态成员函数的调用情况相关推荐
- java根据父类找子类_在java中实现多态时,可以通过父类变量引用子类的对象。_学小易找答案...
[单选题]对于字符串s="java",下面哪个选项返回字符在字符串中'v'的位置( ). [简答题]汽车核保的主要内容 [判断题]在java中产生子类对象时,直接调用子类的构造方法 ...
- Java 多态中成员变量与成员属性的特点【复习】
package firstchapter;/*** 多态中成员变量与成员属性的特点*/ public class polymorphic {public static void main(String ...
- 浅析Java中对象的创建与对象的数据类型转换
这篇文章主要介绍了Java中对象的创建与对象的数据类型转换,是Java入门学习中的基础知识,需要的朋友可以参考下 Java:对象创建和初始化过程 1.Java中的数据类型 Java中有3个数据 ...
- 通过实例说明Java中的多态
转载自:ZXSOFT's Blog - 张旋.NET Java中的多态允许父类指针指向子类实例.如:Father obj=new Child();(其中Child是Father的子类).这样就产生了一 ...
- 何为Java 中的多态?
Java 中的多态一般分为两种:重写式多态和重载式多态. 重载式多态,也叫编译时多态.也就是说这种多态再编译时已经确定好了.重载大家都知道,方法名相同而参数列表不同的一组方法就是重载.在调用这种重载的 ...
- Java中对象的串行化(Serialization)和transient关键字
Java中对象的串行化(Serialization)和transient关键字 前言: 该篇文章参考自网上资料,但是部分内容经过笔者更改,因此算作原创吧,原文地址: http://www.golden ...
- java中实现多态的机制
多态性是面向对象程序设计代码重用的一个重要机制,我们曾不只一次的提到Java多态性.在Java运行时多态性:继承和接口的实现一文中,我们曾详细介绍了Java实现运行时多态性的动态方法调度:今天我们再次 ...
- Java中的多态:什么是多态?
Java中的多态:什么是多态? 多态性是面向对象编程的三大重要特征之一,它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类 ...
- java中实现多态的机制是什么_java多态机制是什么
java多态机制是什么 java中实现多态的机制是依靠父类或接口的引用指向子类.从而实现了一个对象多种形态的特性.其中父类的引用是在程序运行时动态的指向具体的实例,调用该引用的方法时,不是根据引用变量 ...
最新文章
- 2018年全球十大新兴技术:细胞植入人体、营养人造肉……你想试试吗?
- 2字节取值范围_第二篇——整数和浮点数在计算机中的表示(2)
- UITableView 关键操作
- ×××S 2008 实用小技巧
- java 对象传递给方法_java – 将对象值传递给方法
- Java学习小程序(2)输出三个数中的最大值
- iOS5 UI 设计新手段 Storyboard
- Redis 与 key 相关的常用命令
- Sun公司网站上的Swing实例,想学Swing的不看后悔
- Flask11 Session、CSRF、注销session、利用端点自动跳转
- 拉普拉斯变换公式表_工程数学中的积分变换的总结
- CSS(十六)——美化表单实操
- mac安装win10_VMware mac虚拟机安装Win10系统的详细教程
- Establishing SSL
- VC环境中获取窗体标题栏的位置和高度
- 利用快代理搭建自己的代理池(妈妈再也不用担心IP被封了)
- 【实例】python 使用beautifulSoup 抓取网页正文 以淘宝商品价格为例
- [ML] Genetic Algorithm 理论概述
- masonry ajax瀑布流,jquery.masonry瀑布流插件的4个使用步骤
- git学习笔记[idea整合GitHub,Gitee](非常详细)
热门文章
- java reader utf-8_解決BufferedReader读取UTF-8文件中文乱码(转)
- 如何写一个bat批处理自动上传文件到FTP
- Spring Tool Suite 4 自动提示功能
- Docker镜像备份与迁移
- 前端常用 JavaScript 方法封装
- 可能这些是你想要的H5软键盘兼容方案
- oracle中sga的合理设置,oracle学习:SGA_MAX_SIZE参数设置
- mysql获取用户权限api_AnalyticDB MySQL服务关联角色
- linux的trace文件路径,linux系统分析工具之Blktrace(十)
- linux 内核裁剪的具体过程和方法,Linux内核裁剪的具体过程和方法