//仅作为学习笔记
/*
子父类中的函数
当子类中出现和父类一模一样的函数时
子类对象调用该函数就会运行子类函数中的内容
如同父类函数被覆盖一样(实际上是没有被调用到)
这种情况就是函数的另一个特性:重写(覆盖)
当子类继承父类 沿袭父类的功能到子类中
但是子类中虽然具备改功能 但是功能的内容却是和父类不一致
这时没有必要重新定义该功能, 而是使用覆盖特性 既能保留父类的功能定义 并重写功能内容
覆盖:
子类覆盖父类,必须保证子类的权限大于等于父类
静态只能覆盖静态
重载:只看同名函数的参数列表
重写:子父类方法要一模一样
*/
class father
{
//private void show() 写成私有的 子类根本看不到这个函数 就没有覆盖的说法了
void show()
{
System.out.println("I am father!!!");
}
}
class sun extends father
{
void show()
//public void show() public的权限最高 也可以覆盖父类的同名函数
{
super.show();//调用父类的函数来保留从父类那里继承来的特性
//使用show() 功能跟this.show()一样 只是调用本类中的函数
System.out.println("I am sun!!");
}
}
class ExtendDemo
{
public static void main(String []args)
{
sun s = new sun();
s.show();
}
}