Day22方法重写

Day22方法重写

重写首先是对方法的重写,与属性无关,其是在子类中定义与父类的方法名,参数列表,放回值完全相同的非静态方法

因此,重写需要有继承关系的前提下才能调用,子类修饰符的范围可以扩大,但不可以比父类小,而抛出的异常则与此相反,其范围可以被缩小,但不能被扩大

为什么要进行重写,因为父类的功能不一定不完全适配子类,可能不需要,可能无法满足子类的要求,有利于后续的拓展,为实现多态提供了基础

package oop1.Demo5;

public class Application {

public static void main(String[] args) {

//这里方法的调用只和左边,即定义的数据类型有关,是因为静态方法的调用只会和左边的定义类型有关

A a = new A();

//a.test();//调用A的test的方法

a.test1();//A的test1的方法

//父类的引用指向子类

B b = new A();

//b.test();//调用了B的test的方法

b.test1();//也是A的test1的方法,子类重写了父类的方法

//可知静态方法与非静态方法有较大区别,代码上直观来看就是静态方法只与new关键词语句的语句的左边有关,与实际指向的对象类型无关

//非静态方法由引用的声明类型,即new语句的右边决定

}

}

package oop1.Demo5;

//子类

public class A extends B {

public static void test() {

System.out.println("A的测试");

}

@Override//重写

public void test1() {

System.out.println("A的测试1");

}

//修饰符的权限会影响重写,子类的权限修饰符要大于等于父类,不能更严格

}

package oop1.Demo5;

//父类

public class B {

public static void test() {

System.out.println("B的测试");

}

public void test1(){

System.out.println("B的测试1");

}

}

相关推荐

佛山三水区殡葬一条服务-丧葬服务一条在线
英国365bet网址

佛山三水区殡葬一条服务-丧葬服务一条在线

什么是银行对账定义:分步指南
365bet官网平台

什么是银行对账定义:分步指南

上大学什么专业好
英国365bet网址

上大学什么专业好

为什么植物的芽总是向上生长
365bet官网平台

为什么植物的芽总是向上生长

中国四大血型比例
365bet官网平台

中国四大血型比例

严密后手自缚、折腿缚与简易有效自缚教程
英国365bet网址

严密后手自缚、折腿缚与简易有效自缚教程