内部类问题--java编程中没有任何类型 abc 的外层实例可访问问题

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();
}
}
应该在下面的代码中加入什么句子才能正确呢?为什么?希望专家帮忙详细解答下。
收起
祝茂是我 | 浏览 5219 次
推荐于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();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值