当前位置: 代码迷 >> 综合 >> day08 面向对象 多态
  详细解决方案

day08 面向对象 多态

热度:33   发布时间:2024-01-17 14:42:37.0

面向对象

多态

package com.oop.demo07;public class Application {
    public static void main(String[] args) {
    //一个对象的实际类型是确确定的//Student s1 = new Student();// Person p1 = new Person();//可以指向的引用类型就不确定了//Student 能调用的方法都是自己的或者继承父类的//Person 父类型,可以指向子类,但不能调用子类独有的方法Student s1 = new Student();Person p2 = new Student();//父类引用指向子类的类型Object s3 = new Student();//对象能执行哪些方法,主要看对象左边类型,和右边关系不大s1.run();//子类p2.run();//子类重写了父类 执行子类的方法s1.eat();//s2.eat不行}
}
package com.oop.demo07;public class Person {
    public void run() {
    System.out.println("Person");}}
package com.oop.demo07;public class Student extends Person {
    public void run() {
    System.out.println("Student");}public void eat() {
    System.out.println("eat");}
}
注意点:
1.多态是方法的多态,属性没有多态
2.父类和子类,有联系  类型转换异常!
3.多态存在的条件:继承关系 方法重写 父类引用指向子类对象!Father f1 = new Son();
4.static 方法属于类 不是实例
5.final 常量
6.private 方法