今天研究了一下被static修饰的变量和方法,在子类中继承的问题,网上也看了别人的博客,自己也动手试了一下

代码如下

 //父类
package com.xujingyang.test; public class Father {
public static String staticString="父类中的静态变量";
public String str="父类中的非静态变量"; public static void staticMethod(){
System.out.println("父类中的静态方法");
}
public void nostaticMethod() {
System.out.println("父类中的非静态方法");
}
} //子类
package com.xujingyang.test; public class Son extends Father {
public static String staticString="子类中的静态变量";
public String str="子类中的非静态变量"; public static void staticMethod(){
System.out.println("子类中的静态方法");
}
public void nostaticMethod() {
System.out.println("子类中的非静态方法");
}
} //子类 package com.xujingyang.test; public class A extends Father{ } //测试方法
package com.xujingyang.test; public class Test {
public static void main(String[] args) {
Son son=new Son();
System.out.println(son.str);
System.out.println(son.staticString);
son.staticMethod();
son.nostaticMethod();
System.out.println("==============================");
Father f=new Son();
System.out.println(f.str);
System.out.println(f.staticString);
f.staticMethod();
f.nostaticMethod();
System.out.println("==============================");
A f2=new A();
System.out.println(f2.str);
System.out.println(f2.staticString);
f2.staticMethod();
f2.nostaticMethod();
}
}

结果如下:

    得出如下结论:父类中的静态成员变量和方法是可以被子类继承的,但是不能被自己重写,无法形成多态.

    我发现,变量时无法形成多态的,网上别人说,子类把父类的变量继承过来,内存中会存在两个同名的变量,父类的变量会出现在子类变量之前.如下图:

    

最新文章

  1. eclipse最有用快捷键整理
  2. [转]java.lang.OutOfMemoryError:GC overhead limit exceeded
  3. 编写jquery常用插件的基本格式
  4. 小说一下case ~
  5. Repository
  6. keepalived +mysql 实战
  7. c++ 一个类使用另外一个类的变量或方法
  8. 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析
  9. iOS 8 Handoff 开发指南
  10. SEO优化:浅析关键词出现在网站哪些地方更有利?
  11. vue关于为空使用默认值
  12. Akka并发编程框架 -概念模型(Akka.net或者Orleans)
  13. 加一的golang实现
  14. Java 错误: 找不到或无法加载主类,问题集合
  15. Liferay平台开发使用详细PPT演示文稿
  16. form表单的默认行为
  17. HTML Tags
  18. numpy中arange()和linspace()区别
  19. mt7620 wireless驱动特性意外发现
  20. vue项目修改favicon

热门文章

  1. 解决:pycharm连接github报错 Can't login: Received fatal alert: protocol_version
  2. MinGW main()
  3. (链接)xcode7,ios9 部分兼容设置
  4. mybatis报Error updating database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
  5. Hello Swift
  6. hadoop2.5.2 安装与部署
  7. mxnet(gluon)—— 模型、数据集、损失函数、优化子等类、接口大全
  8. 关于 freetds pymssql 的安装部署
  9. flash、js 函数 互相调用
  10. unity编译android包时提示android sdk路径有问题