【Java 多态】多态中 静态方法的特点
来源:互联网 发布:最大的淘宝客网站 编辑:程序博客网 时间:2024/04/30 11:42
“
在多态中
对于普通方法:
编译时看左边,运行时看右边。
对于静态方法:
编译、运行都看左边
对于成员变量:
编译、运行看左边
”
对于静态方法:
编译、运行都看左边
为什么对于静态方法 ,无论是编译还是运行 ,都是根据基类呢?
Person p = new Student()
Person p:引用
new Student():新实体
解答:
Java中除了static和final方法外,所有方法都是使用动态绑定的。
在多态中,upcast(向上转型)可以简化程序的设计,提高程序的扩展性。
Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,会出现所谓的多态。
多态是的发生时基于对象的。也就是说,只有在“new”出新的实体时,才有多态这一说。多态中的public、protected方法可以被导出类覆写,
我们使用这些可以覆写的方法时,如果只是声明了引用,编译器是没有办法确定到底是使用的哪个方法的,因此,我们使用动态绑定的方式,在调用方法之前,
指定我们要调用的是哪个类的方法。Person p = new Student()
然而什么是静态绑定?
静态绑定(前期绑定)是指程序在执行前进行绑定,由编译器和连接程序实现。
在程序执行前,我们指明了类的引用Person p 。
也就是说,static使用的是静态绑定,而静态绑定的过程中,我们加载了类的引用,而static是随着类的出现而出现的。而且static方法只有一份。static方法“绑定”在了类上
所以说,对于静态方法 无论是编译和运行都看左边。
/**程序在执行前的编译过程中我们进行了什么步骤呢?
词法分析、语法分析、中间代码生成、代码优化和目标代码生成*/
0 0
- 【Java 多态】多态中 静态方法的特点
- java中static的特点&&静态变量和静态方法分别有什么特点
- 多态中静态成员变量和静态方法的特点
- java构造方法的特点
- 多态中函数、成员、静态函数的特点
- 静态成员的特点
- java类的构造方法特点
- Java面向对象 非静态内部类的一些特点
- java中静态变量和静态方法分别有什么特点?
- java中静态变量和静态方法分别有什么特点?
- java中静态变量和静态方法分别有什么特点?
- [转]java中静态变量和静态方法分别有什么特点?
- java的静态方法
- JAVA 多态中成员的特点
- Java多态中成员的特点
- java的静态方法和静态变量
- Java的静态变量和静态方法
- java静态变量,静态方法的理解
- git 冲突合并
- python入门代码练习
- vim的简单配置
- hzk16的介绍以及简单的使用方法
- u-boot mkconfig 文件分析
- 【Java 多态】多态中 静态方法的特点
- 如何去除TabHost中TabWidget的横线的问题
- Mycat 分布式事务的实现
- 画个小黄人
- Mybatis获取插入记录的自增长ID
- C#入门经典 学习笔记(一)
- Python学习笔记0002:判断正负数
- 论整数输入优化
- 第八届蓝桥杯第6题最大公共子串