黑马程序员技术交流社区

标题: 子父类中函数特点:覆盖(重写) [打印本页]

作者: sxwnzbn    时间: 2015-9-18 09:18
标题: 子父类中函数特点:覆盖(重写)
/*
子父类中函数的特点:覆盖(重写)

当子类出现和父类一模一样的函数,当子类对象调用该函数会运行子类函数的内容,如同父类函数被覆盖一样。

当子类继承父类,沿袭了父类的功能到子类中,子类虽具备该功能,但功能的内容却和父类的不一致,这时没有必要定义新功能
而是使用覆盖特性保留父类的功能定义,重写功能内容{即重写方法体}。

注意:1.子类的权限大于或等于父类的权限才能覆盖父类的函数
          2.静态只能覆盖静态,不能覆盖非静态(为什么?)
*/
class Fu
{
        void show()//如果show方法是private修饰的,则不会被子类show方法覆盖,因为私有的不会被其他类发现
        {
                System.out.println("Fu_show");
        }
}
class Zi extends Fu
{
        void show()//子类的权限大于或等于父类的权限才能覆盖父类的函数
        {
                System.out.println("Zi_show");
        }
}
class Test
{
        public static void main(String[] args)
        {
                Zi z=new Zi();
                z.show();
        }
}
//---------------------------------------------------------------------------------------------
//实现电话来电显示功能的更新,升级,功能的扩展
class Tel
{
        void show()
        {
                System.out.println("number");
        }
}

class NewTel extends Tel
{
        void show()//该show方法将重写父类Tel的show方法,实现功能的扩展
        {
                super.show();//因为System.out.println("number");在父类Tel中已经实现了,所以可以用super.show()的格式调用
                System.out.println("name");
                System.out.println("pic");
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2