24. java面向对象 - 方法重写
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了24. java面向对象 - 方法重写,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1328字,纯文字阅读大概需要2分钟。
内容图文
一、方法的重写
1. 定义
? 在子类中可以根据需要对从父类中继承来的方法进行改造,也称为方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。
2. 要求
? (1) 子类重写的方法必须和父类被重写的方法具有相同的方法名称、参数列表
? (2) 子类重写的方法的返回值类型不能大于父类被重写的方法返回值类型
? (3) 子类重写的方法使用的访问权限不能小于父类被重写的方法的访问权限
- 子类不能重写父类中声明为private权限的方法
? (4) 子类方法抛出的异常不能大于父类被重写方法的异常
3. 注意
? 子类与父类中同名同参的方法必须同时声明为非static的,或者同时声明为static(不是重写)。因为static方法是属于类的,子类无法覆盖子类的方法。
二、super关键字
1.super关键字使用
(1)super理解为父类的
(2)super可以用来调用:属性、方法、构造器
2.super使用
(1)在子类的方法或构造器中,通过"super.属性"或"super.方法"的方式,显示的调用父类中声明的属性或方法。但通常情况下省略super
(2)特殊情况,当子类和父类中定义了同名属性,子类要调用父类的属性,则必须使用super.属性
(3)特殊情况,重写方法,要调用父类中定义的方法,使用super.方法()
(4)super在构造器中使用:super(形参列表);调用父类中指定的构造器
(5)在构造器首行,没有显示的声明this(形参列表)或super(形参列表);默认调用父类中空参构造器super()
1. super调用父类构造器
public class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void eat() {
System.out.println("父-吃饭");
}
public void sleep() {
System.out.println("父-睡觉");
}
}
public class Student extends Person {
private String major;
public Student(String name, int age, String major) {
//super调用父类构造器
super(name, age);
this.major = major;
}
public void show(){
System.out.println(name + age + major);
}
}
class StudentTest {
public static void main(String[] args) {
Student stu = new Student("tom", 20, "IT");
stu.show();
}
}
原文:https://www.cnblogs.com/hq82/p/12237898.html
内容总结
以上是互联网集市为您收集整理的24. java面向对象 - 方法重写全部内容,希望文章能够帮你解决24. java面向对象 - 方法重写所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。