多态

来源:互联网 发布:暴风tv直播软件 编辑:程序博客网 时间:2024/06/05 09:33
/**多态
 * 多态就是指一个引用或者方法可以指向或者调用不同的对象或者方法体。
 * 可以理解为一句代码执行不同的操作,就是多态。
 *
/**多态的表现形式
 * 接口与实现类,父类与子类,方法的重载和(重写或不重写)
 * 父类和子类的多态表现:
 * A extends B  
 * B a = new A();
 * 接口和实现类的多态表现:
 * A implements C
 * C a = new A();
 * 重载的多态表现:
 * System.out.println(boolean);
 * System.out.println("String");
 * 重写或不重写的多态表现:
 * sub中有super的sayHello()并没有覆盖,new sub().sayHello();//调用父类的
 * sub中有super的sayHello()并覆盖,new sub().sayHello();//调用子类的
 *
/**重载和重写(覆盖)的区别?
 * 重写不能更改参数类型,参数个数,参数位置,返回类型。异常抛出的范围不能扩大,访问修饰符的范围也不能扩大。
 * 重载必须要求参数类型或者参数个数,参数位置其中一个要改变,这是为了区分方法。返回类型和访问修饰符
 * 都不能区分方法,区分方法的唯一条件就是参数和名字,名字的大小写也可以区分方法。
 * 重写要求的是方法一致,重载要求的是方法不一致。
 *
/**接口中有sayHello(),super中有sayHello()方法的实现,sub实现了接口,是否要实现sayHello()?
 *不需要,因为父类已经方法的实现,无论父类有没有实现接口,这个方法已经存在,方法原型一致,可以被子类所引用,
 *那么就不需要再一次实现,接口和抽象类要求实现类或子类必须去实现方法,只是因为没有方法体,方法就无法被执行,
 *如果方法可以在别处引用进来,那么就等于实现了方法,一旦引用取消,那么就需要自己实现了。
 *
 *@author silone
 *
 */
0 0
原创粉丝点击