【问题标题】:no access to instance method of an object as a class variable不能将对象的实例方法作为类变量访问
【发布时间】:2022-01-05 18:56:43
【问题描述】:
package com.company;

public class UnlimitedBuffer {
//Variabels
public Object object;  

//Constructor
public UnlimitedBuffer(ObjectBufferRing object){
    this.object = object;
}

//Methods
public static void main(String[] args){
    ObjectBufferRing obr = new ObjectBufferRing(10); //Object of another Class "ObjectBufferRing"
    UnlimitedBuffer ubr = new UnlimitedBuffer(obr); 
    ubr.object.printArray();

}

我试图访问对象“object”的实例方法“printArray()”,该方法被保存为另一个类对象“ubr”的类变量。 但不幸的是,它没有找到该对象的实例方法“printArray()”或任何其他类成员(变量/方法)。 (两个类都在同一个包中) 相反,我得到了这个错误输出:

java: 找不到符号

符号:方法 printArray()

位置:java.lang.Object 类型的变量对象

【问题讨论】:

  • 如果您想访问自己的方法,为什么将对象保存为Object 而不是ObjectBufferRingObject 显然对这种方法一无所知

标签: java class access-modifiers class-method class-variables


【解决方案1】:

告诉Java忘记了object是一个带有printArray方法的ObjectBufferRing,当你写public Object object;而不是public ObjectBufferRing object;时。

Java 正在按照你的吩咐去做。

【讨论】:

    猜你喜欢
    • 2021-06-03
    • 1970-01-01
    • 2017-03-20
    • 2012-10-24
    • 2012-08-23
    • 1970-01-01
    • 2014-01-14
    • 2017-06-18
    • 1970-01-01
    相关资源
    最近更新 更多