码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-04-26 09:23:43      阅读:120      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!