class AA{
String name;
int   age;
public AA(){}
public String talk()
{
return("姓名:"+name+"\n年龄:"+age);
}
}class BB  extends AA{
String school;
public  BB(String name,int age,String School)
{
super.name=name;
super.age=age;
System.out.println(super.talk());
this.school=school;//赋值没有生效 }

}public class TestSuper {
    public static void main(String[] args) {
// TODO 自动生成的方法存根
   BB   b1=new BB("张三",20,"北大");
   System.out.println("学校:"+b1.school);
}}
Java构造函数

解决方案 »

  1.   

    控台输出结果是:
        姓名:张三
        年龄:20
        学校:null
      

  2.   

    String School
    this.school=school; 这么明显就不需要解释了吧
      

  3.   

    School 参数的大小写搞错了  我之前也有过大小写弄错的问题,你那样就没有赋值成功。
      

  4.   

    注意大小写呀,一般参数都是小写的,你传过来的School参数首字母写成大写了,下面用的是小写的
      

  5.   

    大哥,你13行的School 首字母给你写成大写的了,所有你18行this.school=school;用的小写,其实是你第12行声明的school,不是null就奇怪了,要细心啊,还有,多个class尽量别写在一个类里