Java继承中的覆盖

Java继承中的覆盖

如果子类与父类中都有方法头完全相同的两个方法,这种现象就称为覆盖。
子类不能继承父类已被覆盖的方法。
覆盖与重载是完全不同的两个概念!
覆盖父类的方法 示例:

package ch08; 
class Person{  
	protected String name;  
	protected int age;  
	public Person(String name, int age){   
		this.name=name;   
		this.age=age;  
	}  
	protected void show(){  //父类的show方法   
		System.out.println("姓名:"+name+"  年龄:"+age);  
	} 
} 
class Student extends Person{  
	private String department;  
	public Student (String name,int age,String dep){   
		super(name,age);   
		department=dep;  
	}  
	protected void show(){  //子类的show方法 
		System.out.println("系别:"+ department);  
	} 
} 
public class Demo{  
	public static void main(String[] args){   
		Student stu=new Student("王永涛",24, "电子");   
		stu.show();  //子类对象调用自己覆盖的show方法  
	} 
}  

结论:
(1)子类调用的是自己的show()方法,该方法已覆盖父类的show()方法;
(2)子类覆盖父类方法时,只能在父类方法的基础上扩大访问权限,不能缩小。

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 创作都市 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读