1.当子类和父类中有相同的成员属性的时候

public class Demo {
public static void main(String[] args) {
Father son=new Son();
System.out.println(son.num);
}
}
class Father{
public int num=;
} class Son extends Father{
int sum=;
}

执行结果是 4

多态调用该变量时:
编译时期:参考的是引用型变量所属的类中是否有被调用的成员变量。/如果/没有该变量,编译失败。
运行时期:也是调用引用型变量所属的类中的成员变量。

因为他指向的父类型的引用,创建的子类型,这是只能看到父类型里面有的东西,隐藏了子类型里面具体的内容

2.当父类和子类中拥有同名的非静态方法的时候

public class Demo {
public static void main(String[] args) {
Father son=new Son();
son.show();
}
}
class Father{
void show() {
System.out.println("father method is called");
}
} class Son extends Father{
void show() {
System.out.println("son method is called");
}
}

编译时期,参考左边,如果没有该方法,则编译失败。
运行时期,参考右边的对象所属的类。

3.当子类和父类里面拥有同名的静态函数的时候

public class Demo {
public static void main(String[] args) {
Father son=new Son();
son.show();
}
}
class Father{
static void show() {
System.out.println("father method is called");
}
} class Son extends Father{
static void show() {
System.out.println("son method is called");
}
}

因为是静态函数。 所以已经和对象没有关系 只和调用者有关系
所以编译和运行的结果都参考左边

静态的属性或者方法是很少使用多态来调用的,只会出现在面试题中。

所以多态指的就是对象的多态

对于成员函数和成员属性是动态绑定到对象上

对于静态函数和静态属性是静态绑定到类上的,不绑定到对象上  这是根本因为它在内存中存储的区域不同

方法区:构造函数,非静态方法,构造代码块

方法区中的静态方法区:静态函数,静态代码块

最新文章

  1. 移动端城市选择JavaScript插件(基于WG的城市选择插件的修改版本)
  2. unity3D游戏-WorldFight
  3. css-css权威指南学习笔记1
  4. [Android教程]EditText怎样限制用户的输入?数字/字母/邮箱
  5. js new date详解
  6. Nexus 5 Android 6.0.1刷机、Root
  7. 图片生成操作属性导致WP内存溢出解决办法
  8. delphi 默认字体修改
  9. android110 jni01
  10. 【Cocos2d-x 粒子系统】火球用手指飞起来
  11. Inno Setup入门(二)——修改安装过程中的图片
  12. Mysql5.7在CentOs环境下定时备份数据库
  13. Django 的数据库查询
  14. P5305 [GXOI/GZOI2019]旧词
  15. [Swift]LeetCode980. 不同路径 III | Unique Paths III
  16. CentOS 7 yum install cobbler2.8.3
  17. vue-实例生命周期钩子(不太明白)
  18. 在git多分支repo仓库中彻底清除大文件
  19. Web处理方式
  20. 解决C3P0在Linux下Failed to get local InetAddress for VMID问题

热门文章

  1. 轻松装Win10:VMware Workstation 12虚拟机下载
  2. Security实现登录安全控制
  3. 订单1:n支付单 设计讨论
  4. Peewee之playhouse中的数据库连接池
  5. AtCoder diverta 2019 Programming Contest 2
  6. Java学习:反射机制简介
  7. Java 8创建Stream流的5种方法
  8. C# 调用打印机打印文件
  9. WPF 时间编辑控件的实现(TimeEditer)
  10. P2352 队爷的新书(差分)