import java.awt.image.SampleModel;
public class Test {
public static void main(String[] args) {
Shape a=new Circle();
a.printName();
a.printType();
System.out.println(a.name);
Circle b=(Circle)a;
b.printName();
b.printType();
System.out.println(b.name);
Circle c=new Circle();
c.printName();
c.printType();
System.out.println(c.name);
}
}
class Shape{
public String name="shape";
public Shape(){
System.out.println("shpe constructor");
}
public void printType(){
System.out.println("shapenormal");
}
public static void printName(){
System.out.println("shapestatic");
}
}
class Circle extends Shape{
public String name="circle";
public Circle(){
System.out.println("circle construct");
}
@Override
public void printType() {
System.out.println("circlenormal");
}
public static void printName(){
System.out.println("circlestatic");
}
}
输出结果:
shpe constructor // 创建circle默认调用父类构造函数 circle construct shapestatic //静态方法不能重写 circlenormal //多态 shape circlestatic //强转之后静态函数是子类的 circlenormal circle //变量也是子类的 shpe constructor circle construct circlestatic circlenormal circle



