首页 > 其他 > 详细

面向对象(子父类中函数的特点-覆盖)

时间:2015-04-26 09:22:45      阅读:146      评论:0      收藏:0      [点我收藏+]


/*
2,子父类中的函数。


当子类出现和父类一模一样的函数时,//不同名的函数,父类中的非私有函数子类乐意直接拿来用。
当子类对象调用该函数,会运行子类函数的内容。
如同父类的函数被覆盖一样。


这种情况是函数的另一个特性:重写(覆盖)   //前面讲了一个函数的特性,重载//其实父类中的方法还在内存当中,只是没有运行而已。




当子类继承父类,沿袭了父类的功能,到子类中,  //覆写的好处可以用于扩展。
但是子类虽具备该功能,但是功能的内容却和父类不一致,
这时,没有必要定义新功能,而是使用覆盖特殊,保留父类的功能定义,并重写功能内容。




覆盖:
1,子类覆盖父类,必须保证子类权限大于等于父类权限,才可以覆盖,否则编译失败。


2,静态只能覆盖静态。//一般没人这么用,记住这个原则就行。




记住大家:
重载:只看同名函数的参数列表。
重写:子父类方法要一模一样。//包括返回值类型。特殊情况,多态中,父类返回类型和子类返回类型是可以不同的。
*/


class Fu
{
void show()
{
System.out.println("fu show");
}
void speak()
{
System.out.println("vb");
}
}


class Zi extends Fu
{
void speak()
{
System.out.println("java");
}
void show()
{
System.out.println("zi show");
}
}




class ExtendsDemo3 
{
public static void main(String[] args) 
{
Zi z = new Zi();
z.speak();


}
}




class Tel
{
void show()
{
System.out.println("number");//老手机只能显示号码
}

}


class NewTel extends Tel
{
void show()
{
//System.out.println("number");
super.show();
System.out.println("name");
System.out.println("pic");
}
}

面向对象(子父类中函数的特点-覆盖)

原文:http://blog.csdn.net/qq_27073205/article/details/45274565

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!