java 继承的小测验
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运行一下,看看答案是不是和自己想的一样。
------解决方案--------------------是从TIJ里学来的吗?最烦这样钻牛角尖的东西。。。
------解决方案--------------------太麻烦了~~~~
------解决方案--------------------有不一样的吗?
------解决方案--------------------public class ExtendTest { //继承DEMO
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方法
}
}
------解决方案--------------------请楼主翻阅最近已经结掉的帖子
------解决方案--------------------目前正需要一个继承的小例子,又懒的翻书.
看一下
------解决方案--------------------我有个疑问的 地方,程序的 第九行开始有如下代码:abstract void a();
{
System.out.println( "父类非STATIC块 ");
}
这是个抽象类中的抽象方法,怎么可以有具体的实现呢?
你们怎么能测试成功?
------解决方案--------------------不怎麽明白
------解决方案--------------------父类STATIC块
子类static块
父类非STATIC块
父类的成员
父类构造函数
子类的实现方法 ! 子类成员:儿子 父类成员:老子
子类的成员
子类非static块
子类构造函数
------解决方案--------------------好强的题...真绕...