重载和重写的区别,重写能继承父类的静态方法吗?
Posted Recently 祝祝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重载和重写的区别,重写能继承父类的静态方法吗?相关的知识,希望对你有一定的参考价值。
重载
同名不同参返回值无关
重写
同名也同参,返回值相同
重写能继承父类的静态方法吗
public class User
public static void pirint()
System.out.println(111);
public class User1 extends User
public static void pirint()
System.err.println(11111113);
public static void main(String[] args)
User1 user1 = new User1();
user1.pirint();
User user = new User1();
user.pirint();
输出:
11111113
111
//可见User user = new User1();输出的是父类的111,虽然名义上重写成功,但是返回的还是父类的111,说明子类不能重写父类的static方法
总结:
- 子类不能重写父类的static方法,重写public的方法,子类父类同名方法相互独立
- 子类重写父类不可见的方法(private)直接报错不能运行
- 被static修饰符修饰的数据为共享数据,可以在类加载时它就被加载而存在
- 有了static之后,类中方法可以通过类名.(User.pirint())的方式获取到
学海无涯!!!!
以上是关于重载和重写的区别,重写能继承父类的静态方法吗?的主要内容,如果未能解决你的问题,请参考以下文章