import java.util.*;
class Pilot
{
protected String PILOT = "BSIT-1A";
public static void Subject()
{
String[] subs = {"Comprog11","WebDev","Digilog12","ComProg12"};
}
public static void Teacher()
{
String[] teach = {"Ms.a","Ms.b","Ms.c","Ms.d"};
}
}
class Pilot1 extends Pilot
{
protected String PILOT1 = "BSIT-1B";
public static void main(String[]args)
{
Pilot1 obj = new Pilot1();
System.out.println(obj.PILOT);
System.out.println(obj.PILOT1);
obj.Subject();
obj.Teacher();
}
如果我在其中放一个字符串,如何显示 Subject((和 Teacher((的值?它没有任何编译器问题,但是当我运行时,它只显示
BSIT-1A
BSIT-1B
我的预期输出是
BSIT-1A
BSIT-1B
Comprog11
Webdev
Digilog12
Comprog12
Ms.a
Ms.b
Ms.c
Ms.d
你可以返回数组
public String[] subject() {
return {"Comprog11","WebDev","Digilog12","ComProg12"};
}
然后删除继承。主方法不需要它。使试点常量公开或将这些字符串传递到类构造函数中,并使用 getter 方法添加一个私有字段,例如
Pilot a = new Pilot("BSIT-1A");
Pilot b = new Pilot("BSIT-1B");
System.out.println(a.getCode());
System.out.println(b.getCode());
Arrays.stream(a.subject()).forEach(System.out::println);
您需要打印Subject()
和Teacher()
中的值,或者使它们返回值。此外,通过对象调用static
方法也不是 良好做法。它们应该由类调用,就像Pilot1.Subject()
一样。
class Pilot
{
protected String PILOT = "BSIT-1A";
public static void Subject()
{
String[] subs = {"Comprog11","WebDev","Digilog12","ComProg12"};
for(String sub : subs){
System.out.println(sub);
}
}
public static void Teacher()
{
String[] teach = {"Ms.a","Ms.b","Ms.c","Ms.d"};
for(String t : teach){
System.out.println(t);
}
}
}