注意可以只建立一个B.java文件,先写声明类A,再声明类B
编写类A, 包含int型public变量a,b,c, 以及String型public变量str,编写构造方法A(),其功能是将a,b,c分别赋值1,2,3,str赋值”class A”。
编写类B继承A, 包含int型public变量ac, 以及String型public变量str,编写构造方法B(),其功能是将a分别赋值10,str赋值”class B”。
在类B中还包含main函数,其功能是,创建B类对象obj, 然后打印obj.a, obj.b, obj.c, obj.str
分别是什么? 并分别说明原因。
A.java
public class A {
public int a,b,c; //定义三个整型变量
public String str; //定义一个字符型变量
A(){
a=1;b=2;c=3;
str="class A"; //构造方法
}
}
B.java
public class B extends A {
public int ac;
public String str;
B(){a=10;str="class B";}
//B继承A,包含int型public变量ac, 以及String型public变量str,
//编写构造方法B(),其功能是将a分别赋值10,str赋值”class B
public static void main(String[] args) {
// TODO Auto-generated method stub
B obj=new B(); //创建B类对象obj
System.out.println(obj.a);
System.out.println(obj.b);
System.out.println(obj.c);
System.out.println(obj.str);
//分别打印
}
}
运行结果
子类里有的先调用子类,子类里没有的再调用父类。