java编程中没有任何类型 abc 的外层实例可访问问题
一下程序编译无错: public class abc { public static void main(String[] args) { class Truck { int ca; void setCa(int truckCa){ ca=truckCa; } void showCa(){ System.out.println("Truck Ca:"...
一下程序编译无错:
public class abc {
public static void main(String[] args) {
class Truck {
int ca;
void setCa(int truckCa){
ca=truckCa;
}
void showCa(){
System.out.println("Truck Ca:"+ca);
}
}
Truck tc=new Truck();
tc.setCa(10);
tc.showCa();
}
}
但是将Truck类放到main外面就会出错,代码如下:
public class abc {
class Truck {
int ca;
void setCa(int truckCa){
ca=truckCa;
}
void showCa(){
System.out.println("Truck Ca:"+ca);
}
}
public static void main(String[] args) {
Truck tc=new Truck();
tc.setCa(10);
tc.showCa();
}
}
应该在下面的代码中加入什么句子才能正确呢?为什么?希望专家帮忙详细解答下。 收起
public class abc {
public static void main(String[] args) {
class Truck {
int ca;
void setCa(int truckCa){
ca=truckCa;
}
void showCa(){
System.out.println("Truck Ca:"+ca);
}
}
Truck tc=new Truck();
tc.setCa(10);
tc.showCa();
}
}
但是将Truck类放到main外面就会出错,代码如下:
public class abc {
class Truck {
int ca;
void setCa(int truckCa){
ca=truckCa;
}
void showCa(){
System.out.println("Truck Ca:"+ca);
}
}
public static void main(String[] args) {
Truck tc=new Truck();
tc.setCa(10);
tc.showCa();
}
}
应该在下面的代码中加入什么句子才能正确呢?为什么?希望专家帮忙详细解答下。 收起
推荐于2016-02-24 11:23:41
最佳答案
这是因为第二种写法中Truck作为abc的内部类,无法直接创建 main方法应该这样 public static void main(String[] args) { abc a = new abc(); Truck tc=a.new Truck(); tc.setCa(10); tc.showCa(); }