多态
多态:多态就是对同一个对象,在不同时刻表现出来的不同形态。
这里用笔为例,钢笔是笔,铅笔是笔,毛笔也是笔。
多态的意义:多态不仅可以减少代码量,还可以提高代码的可扩展性和可维护性。
多态存在条件:
1.要有继承关系——在多态中必须存在有继承关系的子类和父类。
2.方法需要重写新——子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
3.父类引用类型指向子类——在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。
举例:
例子一:不采用多态时的写法
class Pen {
void wirte() {
System.out.println(“用钢笔写字”);
}
}
class Pencil {
void wirte() {
System.out.println(“用铅笔写字”);
}
}
class Test {
public static void main(String[] args) {
Pen pen=new Pen();
pen.wirte();
Pencil pencil=new Pencil();
pencil.wirte();
}
}
例子二:使用多态时的写法
class Pen extends P//继承父类 {
void wirte()//实现方法 {
System.out.println(“用钢笔写字”);
}
}
classPencil extends P {
void wirte() {
System.out.println(“用铅笔写字”);
}
}
class Test {
public static void main(String[] args) {
P p=new Pen();//父类的指针指向子类的对象
p.wirte();
P a=new Pencil();
a.wirte();
}
}
abstract class P {
abstract void wirte();//这是父类,后面需要重写方法,实现自己的方法
}