不能将对象的实例方法作为类变量访问
Posted
技术标签:
【中文标题】不能将对象的实例方法作为类变量访问【英文标题】: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
而不是ObjectBufferRing
。 Object
显然对这种方法一无所知
【参考方案1】:
你告诉Java忘记了object
是一个带有printArray
方法的ObjectBufferRing
,当你写public Object object;
而不是public ObjectBufferRing object;
时。
Java 正在按照你的吩咐去做。
【讨论】:
以上是关于不能将对象的实例方法作为类变量访问的主要内容,如果未能解决你的问题,请参考以下文章