class Test_Extends {
public static void main(String[] args) {
Super s = new B();
}
}abstract class Super {
static String su = "老子";
abstract void a();
{
System.out.println("父类非STATIC块");
}
static {
System.out.println("父类STATIC块");
}
public Super() {
System.out.println("父类构造函数");
a();
}
C c = new C();
}class B extends Super {
static String su ="儿子";
E e = new E();
static {
System.out.println("子类static块");
} void a() {
System.out.println("子类的实现方法 ! 子类成员:"+su+" 父类成员:"+super.su);
}
{
System.out.println("子类非static块");
}
public B() {
System.out.println("子类构造函数");
}}class C {
public C() {
System.out.println("父类的成员");
}
}class E {
public E() {
System.out.println("子类的成员");
}
}先自己目测程序打印的内容,再用JAVA运行一下,看看答案是不是和自己想的一样。
public static void main(String[] args) {
Super s = new B();
}
}abstract class Super {
static String su = "老子";
abstract void a();
{
System.out.println("父类非STATIC块");
}
static {
System.out.println("父类STATIC块");
}
public Super() {
System.out.println("父类构造函数");
a();
}
C c = new C();
}class B extends Super {
static String su ="儿子";
E e = new E();
static {
System.out.println("子类static块");
} void a() {
System.out.println("子类的实现方法 ! 子类成员:"+su+" 父类成员:"+super.su);
}
{
System.out.println("子类非static块");
}
public B() {
System.out.println("子类构造函数");
}}class C {
public C() {
System.out.println("父类的成员");
}
}class E {
public E() {
System.out.println("子类的成员");
}
}先自己目测程序打印的内容,再用JAVA运行一下,看看答案是不是和自己想的一样。
String dad; //声明孩子他爸
ExtendTest() { //构造方法
dad = "father: Stephen"; //赋值孩子他爸
}
}
class Son extends ExtendTest { //孩子类继承他爸类
String son; //声明孩子
Son() {
super(); //继承,(可省略)
son = "son: Edward"; //赋值孩子
}
void show() {
System.out.println(super.dad+"\n"+son); //输出孩子,和孩子他爸
}
public static void main(String[] args) {
Son xx = new Son(); //实例化孩子类
xx.show(); //使用show方法
}
}
{
System.out.println("父类非STATIC块");
}
这是个抽象类中的抽象方法,怎么可以有具体的实现呢?
你们怎么能测试成功?
子类static块
父类非STATIC块
父类的成员
父类构造函数
子类的实现方法 ! 子类成员:儿子 父类成员:老子
子类的成员
子类非static块
子类构造函数
{
System.out.println("父类非STATIC块");
}
这是个抽象类中的抽象方法,怎么可以有具体的实现呢?
你们怎么能测试成功?大哥,你看仔细,a()后面有;的