在编写程序时,我遇到了一个stackoverflow错误,我在一个方法外实例化,所以我在互联网上搜索它,我不明白任何适当的解决方案,我的码。为什么我不能在任何方法外创建对象
所以任何人都可以请我清除我的困惑。 我使用的聚集,因为它是一个过气的关系 下面是我Mainpage.class将首先执行..
import java.util.Scanner;
public class Mainpage {
Scanner in = new Scanner(System.in);
People people;
public void openapp()
{
people = new People();
System.out.println("Welcome to the Chat");
System.out.println();
System.out.println("1. Newsfeed");
System.out.println("2. Chat");
System.out.println("3. Friends");
System.out.println("Enter your choice");
int input = in.nextInt();
switch(input)
{
case 1:
System.out.println("Newsfeed");
break;
case 2:
System.out.println("Chat");
break;
case 3:
System.out.println("Friends");
break;
default :
System.out.println("Invalid Input");
}
if(input == 3)
{
people.friends();
}
}
public static void main(String args[]){
Mainpage m = new Mainpage();
m.openapp();
}
}
下面是我People.class代码将在朋友的选择被称为从输入MainPage类
import java.util.Scanner;
public class People{
People ps = new People();
Scanner input = new Scanner(System.in);
public void friends()
{
System.out.println("Your friends are");
System.out.println();
System.out.println("Amit");
System.out.println("Rahul");
System.out.println("Ankita");
System.out.println("Enter the friend name to see info");
String fr = input.nextLine();
//ps.friend(fr);
switch(fr){
case "Amit":
System.out.println("Name: Amit");
System.out.println("DOB: 09-02-1993");
System.out.println("Age = 23");
System.out.println("Sex: M");
break;
case "Rahul":
System.out.println("Name: Rahul");
System.out.println("DOB: 11-10-1993");
System.out.println("Age = 23");
System.out.println("Sex: M");
break;
case "Ankita":
System.out.println("Name: Ankita");
System.out.println("DOB: 12-03-1993");
System.out.println("Age = 22");
System.out.println("Sex: M");
break;
default:
System.out.println("You have no one With name "+fr+" in your contact list");
System.out.println("Please again select the friends form the lists");
ps.friends();
}
}
我收到错误#1,请清除我的疑问..
Exception in thread "main" java.lang.StackOverflowError
at People.<init>(People.java:4)
at People.<init>(People.java:4)
at People.<init>(People.java:4)
at People.<init>(People.java:4)
at People.<init>(People.java:4)
at People.<init>(People.java:4)
at People.<init>(People.java:4)
at People.<init>(People.java:4)
at People.<init>(People.java:4)
at People.<init>(People.java:4)
你正在创造一个人在创造一个人(它本身需要创造一个人等) –
请按照SO标准写出适当的英语 – Pranalee
对不起,我的英语@Pranalee ... –