java - java中不同类对象的数组

标签 java inheritance polymorphism

我正在尝试创建不同对象的数组并为各个对象调用类方法。

class A
{
    int ID,
    String name,
    public int getID()
    {
        return ID;
    }
    public void setID(int id
    {
        ID = id;
    }
}
class B extends A
{
    string name;
    public string getName()
    {
        return name;
    }
    public void setName(string n)
    { 
        name = n;
    }
}
class Implement
{
    public static void main(string[] args)
    {
        A[] a1 = new A[2];
        a1[0] = new B();
        a1[1] = new B();
        a1[0].setID(123);
        a1[0].setName("John"); //Error
    }
}

我无法访问 B 类方法。任何人都可以帮助我理解为什么它不允许我访问以及如何实现这一目标...感谢您的帮助.. 谢谢

最佳答案

setID不同,A没有setName方法,因此该方法没有多态性。

关于java - java中不同类对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32319411/

相关文章:

c++ - 使用 c'ctor、d'ctor 和覆盖

java - 如何设置对象在JFrame 中的位置?

ios - 如何将派生类方法委托(delegate)给协议(protocol)方法?

c++ - dynamic_cast 是检查被查询对象的 type_info 对象,还是递归地检查?

c++ - 抽象类和模板

C++ 继承和共享/非共享函数

c++ - 创建抽象包装迭代器

java - 如何正确地将工厂方法应用到DAO工厂中?

Java - 无法从分块文件合并文件

java - 连接字符串时从 Double 转换为 Float 时的精度?