多态定义
- 同一方法可以根据发送对象的不同而采用多种不同的行为方式
- 一个对象的实际类型是确定的,但是可以指向对象的引用的类型有很多
- 多态存在的条件:
- 有继承关系
- 子类重写父类方法
- 父类引用子类对象
- 多态是方法的多态,属性没有多态性
- 父类引用指向子类对象
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修饰的类,不能被继承。