内部类的继承问题

锦瑟six 2014-09-03 12:20:49
题目:创建一个包含内部类的类,此内部类有一个非默认的构造器(需要参数的构造器)。创建另一个也包含内部类的类,此内部类继承自第一个内部类。

public class Auto{
private float i;
public class Wheel{
public Wheel(float r){
i = r;
}
}
}

public class Benz{
private float i;
class BenzWheel extends Auto.Wheel{
public BenzWheel(Auto a, float r){
a.super(r);
i = r;
}

public String toString(){
return "i = " + i;
}
}

public static void main(String[] args){
Benz b = new Benz();
Auto a = new Auto();
BenzWheel bw = b.new BenzWheel(a,3.6);
System.out.println(b.toString());
}
}

...全文
170 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
锦瑟six 2014-09-07
  • 打赏
  • 举报
回复
引用 3 楼 qu1210 的回复:

public class Auto {
	private float i;

	public class Wheel {
		public Wheel(float r) {
			i = r;
		}
	}
}

public class Benz {
	private float i;

	class BenzWheel extends Auto.Wheel {
		public BenzWheel(Auto a, float r) {
			a.super(r);
			i = r;
		}

		public String toString() {
			return "i = " + i;
		}
	}

	public static void main(String[] args) {
		Benz b = new Benz();
		Auto a = new Auto();
		float r = 3.6f;
		BenzWheel bw = b.new BenzWheel(a, r);
		System.out.println(b.toString());
	}
}
高手就是厉害,这么细小的问题都能看得出来! 原来就是double和float之间的不匹配导致了构造方法参数不对。
锦瑟six 2014-09-07
  • 打赏
  • 举报
回复
引用 2 楼 asd7228 的回复:
public class Auto{ private float i; public class Wheel{ public Wheel(float r){ i = r; } } } 居然可以这样写内部类,是我孤陋寡闻了??
那你的意思是去掉public就可以了?好像也不见得嘛
asd7228 2014-09-03
  • 打赏
  • 举报
回复
public class Auto{ private float i; public class Wheel{ public Wheel(float r){ i = r; } } } 居然可以这样写内部类,是我孤陋寡闻了??
锦瑟six 2014-09-03
  • 打赏
  • 举报
回复
这是结果
qzw1210 2014-09-03
  • 打赏
  • 举报
回复

public class Auto {
	private float i;

	public class Wheel {
		public Wheel(float r) {
			i = r;
		}
	}
}

public class Benz {
	private float i;

	class BenzWheel extends Auto.Wheel {
		public BenzWheel(Auto a, float r) {
			a.super(r);
			i = r;
		}

		public String toString() {
			return "i = " + i;
		}
	}

	public static void main(String[] args) {
		Benz b = new Benz();
		Auto a = new Auto();
		float r = 3.6f;
		BenzWheel bw = b.new BenzWheel(a, r);
		System.out.println(b.toString());
	}
}

62,614

社区成员

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

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