把class Sc和class Ar放到主类外代码就是正确的,我想放在里面应该改那些,原理是什么??谁告诉下我public class Zy3 {
String name;
int sala, book;
public Zy3(String qwer, int qwe) {
name = qwer;
book = qwe;
} public void cal() {
sala = book * 2;
} public void print() {
System.out.println(name + sala);
} public static void main(String[] args) {
Zy3 ys = new Zy3("艺术", 20);
Zy3 kx = new Zy3("科学", 15);
Sc sc = new Sc();
Ar ar = new Ar();
sc.mmm(ys);
ar.mm(kx);
}
class Sc {
public void mmm(Zy3 qwe) {
qwe.cal();
qwe.print();
}
}
class Ar {
public void mm(Zy3 qwe) {
qwe.cal();
qwe.print();
}
}}
String name;
int sala, book;
public Zy3(String qwer, int qwe) {
name = qwer;
book = qwe;
} public void cal() {
sala = book * 2;
} public void print() {
System.out.println(name + sala);
} public static void main(String[] args) {
Zy3 ys = new Zy3("艺术", 20);
Zy3 kx = new Zy3("科学", 15);
Sc sc = new Sc();
Ar ar = new Ar();
sc.mmm(ys);
ar.mm(kx);
}
class Sc {
public void mmm(Zy3 qwe) {
qwe.cal();
qwe.print();
}
}
class Ar {
public void mm(Zy3 qwe) {
qwe.cal();
qwe.print();
}
}}
Zy3 ys = new Zy3("艺术", 20);
Zy3 kx = new Zy3("科学", 15);
Sc sc = ys.new Sc();
Ar ar = kx.new Ar();
sc.mmm(ys);
ar.mm(kx);
}
原因在于Sc是类Zy3的内部类,它不能在静态方法中直接实例化,必须通过外部类的实例来实例化化.