多态就是行为具有表现多种功能的能力。
继承多态:
同一个行为在不同的子类有不同的体现,这就是多态
abstract class Person{
String name;
abstract void smoking();
}
class Student extends Person{
public void smoking(){
System.out.prinltn("smoke 1");
}
public void walking(){
System.out.println("walk 1");
}
}
class Worker extends Person{
public void smoking(){
System.out.prinltn("smoke 2");
}
}
子类中的特有方法,不能被父类调用.
Person p = new Student();
//这里无法调用子类的特有方法
p.walking()
接口多态基本上和类的多态一致:不同的是类的继承使用的是继承关系实现多态,接口采用实现的方式实现多态.
interface TeacherInter{
public void teachLesson();
}
class JavaTeacher implements TeacherInter{
String name;
int age;
public void teachLesson(){
System.out.println("Teach Java");
}
}
class PHPTeacher implements TeacherInter{
String name;
int age;
public void teachLesson(){
System.out.println("Teach PHP");
}
}
TeacherInter jt = new JavaTeacher();
jt.teachLesson();
TeacherInter pt = new PHPTeacher();
pt.teachLesson();
网友评论