基本上我在一个程序中创建一个自定义对象,并在一个程序中实例化值,然后我创建另一个程序并想要打印实例化的对象输出。
import java.util.Scanner;
class example {
int value;
String name;
String city;
}
public class Yummy21 {
static example[] obj=new example[3];
static Scanner input=new Scanner(System.in);
public static void main(String args[])
{
init();
}
public static void init()
{
for(int i=0;i<3;i++)
{
obj[i]=new example();
}
for(int i=0;i<3;i++)
{
System.out.println("for the object "+i+" enter the name ");
obj[i].name=input.next();
System.out.println("for the object "+i+" enter the city ");
obj[i].city=input.next();
System.out.println("for the object "+i+" enter the name ");
obj[i].value=input.nextInt();
}
}
}
下一个节目:
public class Yummy22 extends Yummy21 {
public static void main(String args[])
{
for(int j=0;j<3;j++)
{
System.out.println("the value of the object["+j+"].name is "+obj[j].name);
}
}
}
第一个程序运行正常,这意味着它需要值,第二个程序显示NullPointerException
。
答案 0 :(得分:3)
Yummy22.main不会调用Yummy21.init。或许放一个
static {
init();
}
在Yummy21。
话虽如此,这三个类是Java的可憎之处。请至少遵循命名约定。班级example
应为Example
。还可以使用对象级别字段,构造函数和非静态成员来编写所有这些代码
答案 1 :(得分:0)
序列化程序1中的数据并将其写入磁盘,然后从程序2中读取它。