abstract class A {
// 成员变量 其中num是实参
int num = 0;
// 成员方法,其中 i 是型参
public A(int i) {
// 输入int型文件输出下面
System.out.println("aaaaaaaaaaaaaaaaaaa");
System.out.println("i= " + i);
// 把输入的i赋值给成员变量num
num = i;
}
public void init(String s) {
System.out.println("我是一个抽象类来着" + s);
}
}
// B继承A
class B extends A {
int num = 0;
// 成员方法B.
public B() {
// 继承类A的方法.因为B继承了A必然继承了A的特性.所以输入int值10令方法实现.
super(10);
System.out.println("bbbbbbbbbbbbbbbbbbbb");
// 这里的num是类B的.
System.out.println("num= " + num);
// 如果想显示类A的num则需要用下列的super.num.这里注意num在类A中需是成员变量才可以.
System.out.println("super.num= " + super.num);
}
}
// 建立测试类C
public class C {
// main
public static void main(String aa[]) {
// new 一个对象B()
new B();
// 可以通过子类去访问父类的方法
B b = new B();
b.init("hello");
A a=new B();
a.init("world");
}
}
输出:
aaaaaaaaaaaaaaaaaaa
i= 10
bbbbbbbbbbbbbbbbbbbb
num= 0
super.num= 10
-----------------------------
aaaaaaaaaaaaaaaaaaa
i= 10
bbbbbbbbbbbbbbbbbbbb
num= 0
super.num= 10
我是一个抽象类来着hello
----------------------------
aaaaaaaaaaaaaaaaaaa
i= 10
bbbbbbbbbbbbbbbbbbbb
num= 0
super.num= 10
我是一个抽象类来着world