java_多态总结

来源:互联网 发布:台军反攻知乎 编辑:程序博客网 时间:2024/06/05 04:04

多态:

 定义:某一类事物的多种存在形态。

1,多态的体现
 父类的引用指向了自己的子类对象
 父类的引用也可以接受自己的子类对象
2,多态的前提
 必须是类与类之间有关系,要么继承,要么实现。
 通常还有一个前提:存在覆盖。
3,多态的好处:
 多态的出现提高了程序的扩展性。
4,弊端:
 提高扩展性,但是只能使用父类的引用访问父类中的成员

多态成员函数特点:
 成员函数在多态调用时,编译看左边,运行看右边。

多态中,静态成员函数的特点:
 无论编译和运行,都参考左边。
 静态方法不访问对象特有数据,可以只用类名调用。
 静态方法进内存就绑定方法所属的类上。父类指向子类时,静态调用不同,父类走父类子类走子类。
 
*成员变量的特点:*
 无论编译和运行,都参考左边(引用型变量所属的类)。


abstract class Student {
 
 public abstract void study();
 public void sleep(){
  System.out.println("student sleep");
 }
}
class BaseStudent extends Student{
 public void study(){
  System.out.println("BaseStudent study");
 }
 public void sleep(){
  System.out.println("BaseStudent sleep");
 }
}
class AdvStudent extends Student{
 public void study(){
  System.out.println("AdvStudent study");
 }
 public void sleep(){
  System.out.println("AdvStudent sleep");
 }
}
class DoStudent{
 public void doStudent(Student stu){
  stu.study();
  stu.sleep();
 } 
}
public class TestDemo{
 public static void main(String[] args) { 
  DoStudent ds =new DoStudent();
  ds.doStudent(new BaseStudent());
  ds.doStudent(new AdvStudent());
 }
}

0 0