day11
多态
概念:
什么是多态?
同一个对象,在不同时刻表现出来的不同形态
多态的前提
1要有继承或实现关系
2要有方法的重写
3要有父类引用指向子类对象
2.多态作用
提高程序的扩展性。定义方法时候,使用父类型作为参数,在使用的时候,使用具体的子类型参与操作
弊端
不能使用子类的特有成员
代码
package sgz01;
public class demo01 {
public static void main(String[]args) {
FU obj=new ZI();
System.out.println(obj.num);
System.out.println("===========");
obj.showNum();
}
}
skill 16:30:08
package sgz01;
public class demo01method {
public static void main(String[] args) {
FU obj=new ZI ();
obj.method();
obj.methodFU();
}
}
package sgz01;
public class FU {
int num=10;
public void showNum() {
System.out.println(“父类方法+num”);
}
public void method() {
System.out.println("父类方法");
}
public void methodFU() {
System.out.println("父类有其他方法");
}
}
package sgz01;
public class ZI extends FU {
int num=20;
int age=16;
public void showNum() {
System.out.println("子类方法");
}
public void methodZI() {
System.out.println("子类有其他方法");
}
}
public class Animal{
public void eat(){
System.out.println(“动物吃东西”);
}
}
publicclassCatextendsAnimal{
public Cat(){
}
public Cat(String name,int age){
super(name,age);
}
@Override
public void eat(){
System.out.println(“猫吃鱼”);
}
}
public class Dog extends Animal{
public Dog(){
}
public Dog(Stringname,int age){
super(name,age);
}
@Override
public voideat(){
System.out.println(“狗吃骨头”);
}
}