gpt4 book ai didi

java - 父子类 StackOverflowError 异常

转载 作者:行者123 更新时间:2023-11-29 05:50:01 25 4
gpt4 key购买 nike

我有两个类(class)的学校套餐

类(class)学校

package school;

public class people
{
String Name = null;

public String getName()
{
return "Super Class Name : " + Name;
}

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

类(class)学生

package school;

public class students extends people
{

public static void main(String[] args)
{
people objpeople1 = new people();
people objpeople2 = new students();

objpeople1.setName("David");
objpeople2.setName("Davis");

System.out.println(objpeople1.getName());
System.out.println(objpeople2.getName());
}

@Override
public String getName()
{
return "Child Class Name is: "+ getName();
}
}

第一个 getName 方法工作正常。当我尝试使用第二个时,它会生成异常。

objpeople2.getName() 正在生成 java.lang.StackOverflowError 异常

最佳答案

试试这个:

@Override
public String getName(){
return "Child Class Name is: " + super.getName();
}

您的 objpeople2.getName() 正在访问当前类的 getName(),这导致递归调用相同的方法,这就是抛出 StackOverFlorError 异常的方式。使用super关键字来引用当前类的父类(super class)。

关于java - 父子类 StackOverflowError 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14271730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com