Java多态:1方法重载和覆写;2对象引用
class Test {
public Test(String name, int score) {
}
private String name;
private int score;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setScore(int score) {
this.score = score;
}
public int getScore() {
return score;
}
public void sys() {
System.out.println("我在Test中");
}
}
class Temp extends Test {
String name;
int score;
public Temp(String name, int score) {
// 继承带有有参的构造方法的类,子类不能省去父类的构造方法
super(name, score);
this.name = name;
this.score = score;
// TODO Auto-generated constructor stub
}
public void sys() {
System.out.println("Name: " + name + " Score: " + score);
}
}
public class Demo {
// 带有final的类不能继承,方法不能覆写和重载,变量将变成常量
final int i = 10;
public static void main(String[] args) {
Temp temp = new Temp("张高飞", 76);
temp.sys();
// 自下而上的转换
Temp tp1 = new Temp("小白", 77);
Test tt1 = tp1;
tt1.sys();
// 自上而下的转换(强制类型转换)
Test tt2 = new Temp("小黑", 78);
Temp tp2 = (Temp) tt2;
tp2.sys();
}
}