当前位置: 首页 > 知识库问答 >
问题:

Java:尝试从超类中获取非静态值

田晨
2023-03-14

我正在尝试一个为超类学生提供2个私有成员名和ID的练习。提供了两个方法,即public int ShowID()和public String ShowName(),后者将返回两个值。

子类还包含2个私有成员类和2个来自超类私有成员的类号

public Info( String name,int ID, String Class, int cid)
{
    super(name, ID );
    this.cid = cid;
    this.Class = Class;
}

我的任务是为他们写一个数组并打印出来,创建数组调用std[]后,我不能打印name和ID的值,因为它是私有成员,也不能从superclass方法中获取值,因为它是非静态的。我应该怎么做才能得到值?顺便说一句,数组正确地包含了所有信息。

共有1个答案

齐昊
2023-03-14

使用/创建getters获取此数据

 类似资料:
  • 问题内容: 如何从该类的静态方法获取该类的名称。例如 为了把它放在上下文中,我实际上想返回类名,作为异常中消息的一部分。 问题答案: 为了支持正确的重构(重命名类),则应使用以下任一方法: 或(感谢):

  • 问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复: 为什么我会得到“无法从静态上下文引用的非静态变量”? 这是代码 错误说: 非静态类 Node 不能从静态上下文中引用 为什么不应该在main()方法中引用Node类? 问题答案: Java中的非静态嵌套类包含对父类 实例 的隐式引用。因此,要实例化a ,您还需要具有一个实例。在静态上下文(主要方法)中,没有要引用的实例。因此,编

  • 我在看一个项目,我发现了一些很奇怪的东西。 现在,我认为唯一的两个优点是,在非静态容器中封装时,命名更加清晰,并且可以传递的参数更少。 但我想知道这是不是一个好主意,通过设计来包装静态类与非静态?如果有的话,还有哪些其他原因?因为我认为创建一个静态并对其进行调用是可以的。但是这个项目特意将所有静态类打包;我也不知道为什么。

  • 运行时出现此代码错误,获取错误-:非静态变量,无法从静态上下文中引用此变量我应该如何解决此代码

  • 我的程序有问题。Eclipse写道: 我做错了什么?我的应用程序中有2个错误。班你能改进我的代码并解释一下吗?先谢谢你。 多边形 地聚线

  • 问题内容: 我知道不可能在一个类中重写一个方法。但是,有没有办法使用非静态方法作为静态方法呢?例如,我有一个加数字的方法。我希望此方法在没有对象的情况下有用。是否可以在不创建其他方法的情况下执行类似的操作? 编辑:我的意思是,如果我将一个方法设为静态,我将需要它接受参数,如果我创建了一个已经设置了变量的对象,那么再次对具有相同参数的对象调用函数将非常不舒服。 我知道代码不正确,但是我想展示自己想做