求详解,运行不出结果

我知道你知道 2013-04-13 12:40:21
public class Base
{
private int a;
public Base(int a)
{
this.a=a;
}
public int getA()
{
return a;
}
public class Sub extends Base
{
private int b;
public Base(int a,int b)
{
super(a);
this.b=b;
}
public int getB()
{
return b;
}
}

public void main(String[] args)
{
Sub sub=new Sub(1,2);
System.out.println("a="+sub.getA()+"b="+sub.getB());
}
}

...全文
360 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
luanhao21 2013-04-13
  • 打赏
  • 举报
回复
public class Base {
private int a;

public Base(int a) {
this.a = a;
}

public int getA() {
return a;
}

public class Sub extends Base {
private int b;

public Sub(int a, int b) {
super(a);
this.b = b;
}

public int getB() {
return b;
}
}

public static void main(String[] args) {
Sub sub = new Base(1).new Sub(1, 2);
System.out.println("a=" + sub.getA() + "b=" + sub.getB());
}
}

这个内部类要这样实例化,编译应该都错误提示的,要注意看才能提高!
a1216164960 2013-04-13
  • 打赏
  • 举报
回复
QQ1216164960 等姐姐心情好了就会上线看看 不过真不怎么上线
我知道你知道 2013-04-13
  • 打赏
  • 举报
回复
引用 24 楼 a1216164960 的回复:
姐姐我只有QQ可是基本上不上线
看来我是联系不到你了???
yfsyy 2013-04-13
  • 打赏
  • 举报
回复
你把你的main方法放到sub类里就可以了。。。不要单独建个类来测试程序。你的b是private类型的,它的范围只是在sub类里。
a1216164960 2013-04-13
  • 打赏
  • 举报
回复
姐姐我只有QQ可是基本上不上线
我知道你知道 2013-04-13
  • 打赏
  • 举报
回复
能有你的交流方式么?
a1216164960 2013-04-13
  • 打赏
  • 举报
回复
我知道你知道 2013-04-13
  • 打赏
  • 举报
回复
不好意思,我错了。我好好看看你给的正确答案吧
我知道你知道 2013-04-13
  • 打赏
  • 举报
回复
额额额额额........我........
a1216164960 2013-04-13
  • 打赏
  • 举报
回复
我知道你知道 2013-04-13
  • 打赏
  • 举报
回复
a1216164960 2013-04-13
  • 打赏
  • 举报
回复
我知道你知道 2013-04-13
  • 打赏
  • 举报
回复
哦,我再看看。谢谢你了
a1216164960 2013-04-13
  • 打赏
  • 举报
回复
public class Base {
	private int a;

	public Base(int a) {
		this.a = a;
	}

	public int getA() {
		return a;
	}

	class Sub extends Base {
		private int b;

		public Sub(int a, int b) {
			super(a);
			this.b = b;
		}

		public int getB() {
			return b;
		}

	}

	public static void main(String[] args) {
		Base b = new Base(1);
		Base.Sub sub = b.new Sub(3, 2);
		System.out.println("a=" + sub.getA() + "b=" + sub.getB());
	}

}

这是把sub放在里面的注意一下主函数 你就会发现发在里面与放在外面的区别
a1216164960 2013-04-13
  • 打赏
  • 举报
回复
main函数是程序的入口 我要是将sub放在base外部的话,我就直接可以用sub了,可是如果我将sub放在base内部的话我就需要通过base访问到sub
我知道你知道 2013-04-13
  • 打赏
  • 举报
回复
不好意思,能你能帮忙详解一下啊
我知道你知道 2013-04-13
  • 打赏
  • 举报
回复
public static void main(String[] args) { Sub sub = new Sub(1, 2); System.out.println("a=" + sub.getA() + "b=" + sub.getB()); } } class Sub extends Base //怎么放在main()后面,就可以执行出来,源程序为什么不可以啊 { private int b; public Sub(int a, int b) { super(a); this.b = b; } 我刚接触java
a1216164960 2013-04-13
  • 打赏
  • 举报
回复
我知道你知道 2013-04-13
  • 打赏
  • 举报
回复
有,有点想法
a1216164960 2013-04-13
  • 打赏
  • 举报
回复
这个有什么不理解的吗? 正常的类不都是这样定义的吗?你有什么想法?
加载更多回复(8)

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧