javachxy 2012-03-10 09:08
浏览 179
已采纳

代码出错了

父类:
package org.marsdroid;
public class Person{
protected String name;
public int age;
void eat(){
System.out.println("eat");
}
}
子类:
package com.marsdroid;
import org.marsdroid.Person;
class Student extends Person {
Person p = new Student();
void introduce(){
p.name = "zhangsan";
p.age = 10;
System.out.println("姓名:"+name+",年龄:"+age);
}
}
子类这样写就报protected类型无法访问到
子类:
package com.marsdroid;
import org.marsdroid.Person;
class Student extends Person {
Person p = new Student();
p.name = "zhangsan";
p.age = 10;
void introduce(){

    System.out.println("姓名:"+name+",年龄:"+age);
    }

}
子类这样写就报 p.name;p.age需要标识符;
我想保留protected类型,子类也想保留p.name;p.age 和输出,怎么写正确?

  • 写回答

1条回答 默认 最新

  • long13131462101 2012-03-10 09:09
    关注

    [code="java"]子类的 第一种方法没问题,
    第二种写法是错误的,类中间可以有初始化语句但是 p.name = "zhangsan"; 这样的语句不只是变量初始化。
    建议你对Person类加上带参构造函数
    在 Student 的构造函数中传参。[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?