您的位置:首页 > 编程语言 > Java开发

JAVA_继承演示03_ExtendsDeamo01.java super关键字 重写父类的方法,中,调用父类的方法

2016-02-24 21:39 706 查看
/**
*ExtendsDeamo04
*继承演示04
*
*重写父类的方法
*方法重写 overriding mothod
*
*重写父类的方法,中,调用父类的方法
*/
public class ExtendsDeamo04{
public static void main(String[] args){
Women woman = new Women("妮妮");
woman.print();
woman.desc();//desc()是父类的方法,但是可以被自动调用,这就表示desc()已经被子类继承
}
}
//父类
class Human{
/*如果属性需要被子类继承,那么可以使用protected关键字声明;
protected 翻译为 受保护的;
desc 翻译为 描述;
区别private和protected:
private是私有属性,不能被继承,所以,private不能用于父类;
或者说,父类是面向对象,如果不能被继承,属性也就不能被实例化,父类就没有任何意义了,
为了避免父类没有意义,所以父类必须使用protected;
*/
protected String name;
protected void desc(){
System.out.println("Human name is "+name);
}

public Human(String name){
System.out.println("Human");
}
}
//子类
class Women extends Human{
public Women(String name){
//显示的调用父类的构造方法
super(name);//因为父类的构造方法不是public Human();而是public Human(String name);所以
//使用super关键字调用;super必须在构造方法的第一行;

this.name = name;
}
public void print(){
System.out.println("my name is "+name);
}

//重写父类的方法
public void desc(){
super.desc();
System.out.println("Women name is "+name);
}
/*
重写父类的方法,之前,输出的结果:
Human
my name is 妮妮
Human name is 妮妮

重写父类的方法,之后,输出的结果:
Human
my name is 妮妮
Women name is 妮妮

重写父类的方法,里面,调用父类的方法,需要用到super;
这里重新的是public void desc();调用父类的方法,则是super.desc();
调用父类方法 super.desc(),之后,输出的结果:
Human
my name is 妮妮
Human name is 妮妮
Women name is 妮妮
*/
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: