JAVA中子类可以覆盖(重写)父类中static的方法吗?

  1.  *Java中子类能否重写(覆盖)父类的静态方法? 答案是:子类不可以重写父类中声明为静态的方法
  2.  *因为静态方法在类加载的时候就与该类绑定到一起了,子类可以定义与父类同名的静态方法,但是这却不能称作是方法的覆盖。
     *平时我们在网上看到的“编译看左边,运行看右边”这句话是对多态而言的,
     *而静态方法并不适合,方法覆盖通常和多态联合起来使用。

子父类之间:
 *         私有方法不能继承,所有不能覆盖
 *         构造方法不能继承,所有不能覆盖
 *         静态方法不存在覆盖【学过多态理解的会更深】,可以继承
 *         覆盖只针对方法,不谈属性


class Father {
	public void method() {
		System.out.println("父类普通方法");
	}

	/*
	 * 定义父类的静态方法
	 * 
	 */
	public static void static_info() {
		System.out.println("父类的静态方法");
	}

}

 

class Son extends Father {

	public void method() {
		System.out.println("子类普通方法");
	}

	/*
	 * 定义子类的静态方法
	 */
	// @Override
	public static void static_info() {
		System.out.println("子类的静态方法");

		Father.static_info();// 调用父类的静态方法,“类名.”方式
	}

}
/*
 * 测试类
 */
public class StaticTest {
	public static void main(String[] args) {
		Father f1 = new Son();
		f1.method();
		f1.static_info();

		Son s1 = new Son();
		s1.method();
		s1.static_info();

	}

}

}

运行结果是:

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值