练习
abstract class A{
abstract void print();
public A(){print();}
}
public class Ja9_1_3 extends A{
int i=5;
void print(){
System.out.println(i);
}
public static void main(String[] args){
Ja9_1_3 j=new Ja9_1_3();
j.print();
}
}
/*
*output:
0
5
* */
练习4:
import static net.mindview.util.Print.*;
abstract class Dad {}
class Son extends Dad {
protected void print() { System.out.println("Son"); }
}
abstract class SecondDad {
abstract protected void print();
}
class SecondSon extends SecondDad {
protected void print() { System.out.println("SecondSon"); }
}
public class Ja9_1_4 {
public static void testPrint(Dad d) {
((Son)d).print();//it's necessary
}
public static void secondTestPrint(SecondDad sd) {
sd.print();//don't need ((SecondSon)sd)
}
public static void main(String[] args) {
Son s = new Son();
Ja9_1_4.testPrint(s);
SecondSon ss = new SecondSon();
Ja9_1_4.secondTestPrint(ss);
}
}