首先需要知道的是,java中所有的public实例方法都默认是virtual的,static方法不是virtual的,所以static方法可以被覆盖(new),但不可被重写(override)

1.被继承

父类:

public class Parents{public static void staticFunction(){System.out.println("public static function of parents");}public void callPrintName(){this.printName();}
}

子类:

1 public class Child extends Parents{
2     public static void main(String[] args){
3         Child child=new Child();
4         child.staticFunction();
5     }
6
7 }

输出

public static function of parents

说明static方法可以被继承

2.被覆盖(new)

父类:

public class Parents{public static void staticFunction(){System.out.println("public static function of parents");}public void callPrintName(){this.printName();}
}

子类:

public class Child extends Parents{public static void staticFunction(){System.out.println("public static function of Child");}public static void main(String[] args){Child child=new Child();child.staticFunction();}}

输出:

public static function of Child

上面输出是public static function of Child,说明static已经被覆盖(new)了

3.不是virtual,即不能实重写(override)

//父类
public class Parents{private void printName(){System.out.println("private function of parents");}public static void staticFunction(){System.out.println("public static function of parents");}public void callPrintName(){this.printName();}
}//子类
public class Child extends Parents{public static void staticFunction(){System.out.println("public static function of Child");}public static void main(String[] args){Parents child=new Child();child.staticFunction();}}

输出:

public static function of parents

上面的child是属于Child实例,用Parents引用,输出的是public static function of parents,说明static方法不是virtual的,不能被重写(override)。

转载于:https://www.cnblogs.com/JMLiu/p/7515795.html

java中static方法的继承性相关推荐

  1. java中main方法前的public static void及其后面的(String[] args)【笔记自用】

    为什么Java的main方法必须是public static void? 一. void 如下,像C, C++一样,将返回值类型改为int,再返回一个0,虽然编译通过,但是运行时会报错. 找到一种可理 ...

  2. java中collection方法_Java 8中的Collector toCollection()方法

    toCollection()Java中的Collector类的方法返回一个Collector,该Collector以遇到的顺序将输入元素累积到一个新的Collection中. 语法如下static & ...

  3. java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...

    [单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...

  4. Java中static的作用

    Java中static的作用 请先看下面这段程序: public class Hello{ public static void main(String[] args){ //(1) System.o ...

  5. Java中static的含义和用法

    Java中static的含义和用法 static:静态的,用于修饰成员(成员变量,成员方法); 1.被static所修饰的变量或者方法会储存在数据共享区; 2.被static修饰后的成员变量只有一份! ...

  6. java中同步_在Java中的方法同步和语句同步(块同步) - Break易站

    Java 多线程 线程主要通过共享对字段的访问和参考字段引用的对象进行通信.这种通信形式非常有效,但可能出现两种错误:线程干扰和内存一致性错误.需要一些同步构造来防止这些错误.以下示例显示了我们需要同 ...

  7. java中的方法求和_在Java中模拟求和类型的巧妙解决方法

    java中的方法求和 在继续阅读实际文章之前,我想感谢令人敬畏的Javaslang库的作者Daniel Dietrich ,他在我面前有了这个主意: @lukaseder尝试使用静态方法<T,T ...

  8. java中static、final 和 static final之间的区别

    java中static.final 和 static final之间的区别 static可以修饰:全局属性,方法,代码块,内部类(静态内部类或嵌套内部类) 由于静态属性和方法是属于该类的所有对象的,所 ...

  9. 安卓开发——JNI——回调java中的方法

    JNI开发中 在C代码中回调java中的方法 package com.example.jnitest2;import android.app.Activity; import android.cont ...

最新文章

  1. lucene DocValues——本质是为通过docID查找某field的值
  2. JavaScript中的this妙用
  3. 华为抢购助手_华为MateBook 13轻薄本:出差者的首选,学生党的福音
  4. WinServer2003环境下如何配置TortiseSVN(版本控制)服务器端
  5. 为myeclipse分配更大的内存
  6. struts2标签处理下拉列表
  7. linux iio 设备驱动,Linux设备驱动之IIO子系统——IIO框架数据读取-Go语言中文社区...
  8. 将一个包含汉字的字符串逐个转化为数字,并得出该字符串的十进制和
  9. go get 拉取指定版本_go语言学习笔记-基础知识-3
  10. SharpGL学习笔记(十二) 光源例子:解决光源场景中的常见问题
  11. 编程计算二叉树的深度
  12. 使用aspose进行将word转换为图片格式
  13. Kaggle注册及绑定手机号
  14. 基于深度学习的色情视频鉴定
  15. 夏雨老师:告诉你初学习平面设计需要什么条件
  16. A Scalable Probabilistic Tensor Factorization(SPTF)论文小结
  17. 【前端开发遇到到的问题2】文字下方加下划线
  18. 香港大学计算机科学排名,香港大学计算机专业排名
  19. NRF24L01 使用小结—1
  20. Android APK签名总结-- V1签名和V2签名使用和区别

热门文章

  1. 【成长之路】【python】python基础5-模块
  2. Mysql学习总结(41)——MySql数据库基本语句再体会
  3. 通过启动项设置实现应用程序自启动功能
  4. 关于幂律分布的一个笔记_哈克_新浪博客
  5. 为什么放弃治疗_百度百科
  6. Centos5.6入门学习003之Cenots环境初始化
  7. 2009年8月份答疑贴
  8. 《CSS揭秘》-背景与边框
  9. 使用nginx做反向代理和负载均衡效果图
  10. WordPress整站轻松开启HTTPS