Java教程

Java面向对象---多态

本文主要是介绍Java面向对象---多态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

多态定义

  • 同一方法可以根据发送对象的不同而采用多种不同的行为方式
  • 一个对象的实际类型是确定的,但是可以指向对象的引用的类型有很多
  • 多态存在的条件:
  1. 有继承关系
  2. 子类重写父类方法
  3. 父类引用子类对象
  • 多态是方法的多态,属性没有多态性
  • 父类引用指向子类对象

instanceof与类型转换

  • instanceof:它的作用是用来判断,instanceof 左边对象是否为instanceof 右边类的实例
  • 父类引用指向子类对象(这是下面两点前提)
  • 把子类转换为父类,向上转型
  • 把父类转换为子类,向下转型

static关键字解释

  • 静态属性可以通过类名和该类的实例化对象进行直接调用
  • 静态方法不能调用非静态方法
  • 静态代码块只运行一次
public class Student {
    private static int age;
    private double score;

    {
        System.out.println("匿名代码块");
    }

    static {
        System.out.println("静态代码块");
    }

    public Student() {
        System.out.println("构造方法");
    }

    public static void main(String[] args) {
        Student student = new Student();
        Student student1 = new Student();
    }
}

程序输出

静态代码块
匿名代码块
构造方法
匿名代码块
构造方法
  • 静态导入包,比如导入Math内部的random()方法
import static java.lang.Math.random;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println(random());
    }
}
  • 被final修饰的类,不能被继承。
这篇关于Java面向对象---多态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!