Java小白入门200例87之Java重写

Posted 编程界明世隐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例87之Java重写相关的知识,希望对你有一定的参考价值。

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  86.Java方法重载
►下一篇  88.Java多态

概念

前面几节重点讲了继承,出现了继承的关系,那么就存在了子类和父类的联系,而在子类之中有可能定义和父类完全相同的方法或属性的名称,这个时候就称为重写了。
当子类定义了和父类在方法名称、返回值类型、参数类型及个数完全相同的方法的时候,称为方法的重写。

重写注意事项

  1. 参数列表必须完全与被重写的方法参数列表相同。
  2. 子类返回值类型必须要小于或者等于父类的返回值类型。
  3. 子类权限修饰符必须要大于或者等于父类的权限修饰符。
  4. 子类抛出的异常要小于或者等于父类抛出的异常类型。

实例1

未进行重写

package demo.demo87;

public class A {

	public void print(){
		System.out.println("Class A print");
	}
}
package demo.demo87;

public class B extends A{

}
package demo.demo87;

public class Test {

	public static void main(String[] args) {
		B b = new B();
		b.print();
	}
}

运行结果:

Class A print

从之前学习的继承的实例我们知道,这个方法是从A类继承来的,所以打印这个结果,但现实应用中,实现类经常会有不一样的逻辑,于是我们可以在B类中重写这个方法。

实例2

重写print方法,在B类中添加方法print即可,如下:

package demo.demo87;

public class B extends A{

	public void print(){
		System.out.println("Class B print");
	}
}

再来运行一下:

Class B print

实例3

在类B中加入注解 @Override ,在测试类中用向上转型,更清晰地体现重写。
@Override 的作用是确保此方法的正常,一旦父类中此方法发生更改就会编译报错。

package demo.demo87;

public class B extends A{
	@Override
	public void print(){
		System.out.println("Class B print");
	}
}
package demo.demo87;

public class Test {

	public static void main(String[] args) {
		A a = new B();
		a.print();
	}
}

运行结果:

Class B print

小结

这节总结了“ Java重写 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  86.Java方法重载
►下一篇  88.Java多态

热门专栏推荐

1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java

以上是关于Java小白入门200例87之Java重写的主要内容,如果未能解决你的问题,请参考以下文章

Java小白入门200例98之Java异常

Java小白入门200例95之Java匿名类

Java小白入门200例105之Java ArrayList类

Java小白入门200例107之Java LinkedList类

Java小白入门200例112之Java HashSet类

Java小白入门200例99之Java常见异常及处理