日期:2014-05-20  浏览次数:20675 次

请帮我看一下这个程序用继承错在哪里
这个程序没有什么具体的意义,只为练习语法。

import java.util.*;

public class Test2
{
public static void main(String[] args)
{

}
}

class A<T>
{
public A(T first, T second)
{
this.first = first;
this.second = second;
}

public T getName()
{
return first;
}

public T getAge()
{
return second;
}

private T first;
private T second;
}

class B
{
public B(String name, int age)
{
this.name = name;
this.age = age;
}

public String getName()
{
return name;
}

public int getAge()
{
return age;
}
private String name;
private int age;
}

class C extends B
{
public C(String name, int age, char gender)
{
super(name, age);
gender = 'F';
}

public void setName(String n)
{
name = n;
}

public void setAge(int m)
{
age = m;
}

public void setGender(char x)
{
gender = x;
}

public char getGender()
{
return gender;
}
private char gender;

}


错误的提示为


我的疑问是不是已经将name与age继承来了,为什么还会有这样的提示?怎样改一改?

------解决方案--------------------
class c中都没有看到name和age
------解决方案--------------------
name和age是private的,不会被继承
把private去掉或改成protected就行了
------解决方案--------------------
私有成员变量不能继承的