JAVA父类的静态方法能否被子类重写?
静态:
在编译时所分配的内存会一直存在(不会被回收),直到程序退出内存才会释放这个空间,在实例化之前这个方法就已经存在于内存,跟类的对象没什么关系。子类中如果定义了跟父类相同名称、相同的形参列表、相同返回值类型的静态方法,就满足重写的条件,于是在内存中又分配了一块给子类的静态方法,重写了父类方法。
父类代码
 public class Fu {
     public static void show() {
         System.out.println("父类的静态方法");
     }
     public void method() {
         System.out.println("父类的一般方法");
     }
 }
子类代码
public class Zi extends Fu {
    public static void main(String[] args) {
        Fu fu = new Zi();
        fu.show();
        fu.method();
    }
    public static void show() {
        System.out.println("子类的静态");
    }
    public void method() {
        System.out.println("子类的一般方法");
    }
}
输出结果是:
父类的静态方法
子类的一般方法
当父类引用指向子类对象,只会调用父类的静态方法,此行为并不具有多态性!所以子类重写父类的静态方法,并没有实际意义!
JAVA父类的静态方法能否被子类重写?的更多相关文章
- Java学习笔记13---如何理解“子类重写父类方法时,返回值若为类类型,则必须与父类返回值类型相同或为其子类”
		
子类重新实现父类的方法称重写:重写时可以修改访问权限修饰符和返回值,方法名和参数类型及个数都不可以修改:仅当返回值为类类型时,重写的方法才可以修改返回值类型,且必须是父类方法返回值的子类:要么就不修改 ...
 - java继承-子类调用父类的方法中包含子类重写的方法
		
# 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了... # 先看代码: public class Common { public static void main(String[] args ...
 - Java 父类的static成员在子类中的继承情况
		
父类的static成员在子类中的继承状况是怎么样的呢? 昨天突然想到这个问题,刚才试验了一下,发现很容易解释,没什么值得探讨的. 首先在学习继承时,书本都没有强调static成员有什么特殊的地方. 然 ...
 - java父类可以强制转化成子类吗?
		
转自:http://blog.csdn.net/ld422586546/article/details/9707997 Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换 ...
 - Java之重载(Overload)与重写(Overwrite)总结
		
内容来源为:<孙卫琴面向对象编程>,本随笔简单总结,具体内容可参见概述第6章,写的挺清晰: 一. 重载(Overload) 1. 有时候类的同一种功能有多种实现方式,到底采用哪种实现方式, ...
 - java中父类的静态方法不能被重写
		
Java中父类的静态方法确实不能被重写的,但是有的人可能去做实验发现在子类中去重写父类static方法时,并没什么问题.这里我来具体解释下. public class Parent { public ...
 - java父类调用被子类重写的方法
		
[转][原文] 1.如果父类构造器调用了被子类重写的方法,且通过子类构造函数创建子类对象,调用了这个父类构造器(无论显示还是隐式),就会导致父类在构造时实际上调用的是子类覆盖的方法(你需要了解jav ...
 - Java子类重写父类方法注意问题收集(转)
		
子类不能重写父类的静态方法,私有方法.即使你看到子类中存在貌似是重写的父类的静态方法或者私有方法,编译是没有问题的,但那其实是你重新又定义的方法,不是重写.具体有关重写父类方法的规则如下: 重写规则之 ...
 - java 子类重写父类的方法应注意的问题
		
若想实现一个合格重写方法,而不是重载,那么必须同时满足下面的要求! A.重写规则之一: 重写方法不能比被重写方法限制有更严格的访问级别.(但是可以更广泛,比如父类方法是包访问权限,子类的重写方法 ...
 
随机推荐
- 测试自动化:java+selenium3 UI自动化(2) - 启动Firefox
			
1. selenium和浏览器 基于selenium的这套自动化体系,其实现关键就在于对于各浏览器的顺畅操作. 事实上当selenium刚开始起家的时候,他使用的还是javascript注入的方式来驱 ...
 - 解决!!-- krb5-libs.x86_64被卸载,yum不能使用,ssh不能连接
			
常在河边走哪有不湿鞋,常玩服务器哪有不搞挂几台,一不小心就搞挂了 今天删除 krb5-libs.x86_64下了狠功夫..... 用了命令: rpm -e --nodeps krb5-libs.x8 ...
 - warpAffine仿射变换
			
仿射变换,其实就是不同的坐标系的相互转换,用于图像的平移和旋转. 首先看一下官方的api描述. https://docs.opencv.org/2.4/modules/imgproc/doc/geom ...
 - 【win10主机】连接virtualbox上【32位winXP系统虚拟机】上启动的mysql
			
问题Q: 在virtualbox上启动winXP系统虚拟机后,启动含oa项目的tomcat,数据库服务也运行起来了,虚拟机上连接无误: 在上一篇<主机访问 虚拟机启动的项目>基础上,尝试连 ...
 - net core Webapi基础工程搭建(七)——小试AOP及常规测试_Part 2
			
目录 前言 引入 自定义属性 测试 小结 前言 前一篇讲到了中间层的使用,可能不是那么AOP,今天主要来说下一个轻量级的AOP第三方类库AspectoCore. 简单介绍下这个类库,AspectCor ...
 - vscode保存代码,自动按照eslint规范格式化代码设置
			
# vscode保存代码,自动按照eslint规范格式化代码设置 编辑器代码风格一致,是前端代码规范的一部分.同一个项目,或者同一个小组,保持代码风格一致很必要.就拿vue项目来说,之前做的几个项目, ...
 - Java网络编程与NIO详解8:浅析mmap和Direct Buffer
			
微信公众号[黄小斜]作者是蚂蚁金服 JAVA 工程师,目前在蚂蚁财富负责后端开发工作,专注于 JAVA 后端技术栈,同时也懂点投资理财,坚持学习和写作,用大厂程序员的视角解读技术与互联网,我的世界里不 ...
 - Mbatis是什么?怎么运行?
			
一 . Mybatis是什么? Mybatis是一个持久层框架,其中编写的过程中sql语句是需要程序员自己去编写,Mybatis也有 一些映射(输入参数映射,输出参数映射),Mybatis是 ...
 - windows的磁盘操作之七——获取当前所有的物理磁盘号 加备注
			
windows的磁盘操作之七--获取当前所有的物理磁盘号 2011-07-28 17:47:56 标签:windows API DeviceIoControl 物理磁盘 驱动器号 原创作品,允许转载 ...
 - Python: 转换文本编码
			
最近在做周报的时候,需要把csv文本中的数据提取出来制作表格后生产图表. 在获取csv文本内容的时候,基本上都是用with open(filename, encoding ='UTF-8') as f ...