程序一:
1:import java.lang.*;
2:public class j02090505
3:{
4: public static void main(String para[])
5: {
6: myInter mem1 = new myClass("colorfish");
7: mem1.showTeam();
8: ((myInterEx)mem1).showSuperTeam();
9: ((myClass)mem1).showName();
10: System.out.println( ((myClass)mem1).myName );
11: System.out.println( "字段测试一:" + mem1.team );
12: System.out.println( "字段测试二:" + ((myInterEx)mem1).team );
13: System.out.println( "==================================");
14: myClass mem2 = new myClass("小白鲨");
15: mem2.showTeam();
16: ((myInter)mem2).showTeam();
17: System.out.println( "字段测试三:" + ((myInter)mem2).team );
18: System.out.println( "字段测试四:" + mem2.team );
19: }
20:}
21:interface myInter
22:{
23: public static final String team = "fishes";
24: public void showTeam();
25:}
26:interface myInterEx extends myInter
27:{
28: public static final String team = "fishes-PartII";
29: public void showSuperTeam();
30:}
31:interface myInter2
32:{
33: public static final String team = "fishes";
34: public void showName();
35:}
36:class myClass implements myInterEx
37:{
38: String myName;
39: public myClass(String setName)
40: {
41: myName = setName;
42: }
43: public void showTeam()
44: {
45: System.out.println( team + " 小组");
46: }
47: public void showSuperTeam()
48: {
49: System.out.println( "延续自" + myInter.team + " 小组");
50: }
51: public void showName()
52: {
53: showTeam();
54: System.out.println( "姓名:" + myName );
55: }
56:}
问题:在第7行mem1是myInter的对象(引用实现它的类实例),mem1对象里的team变量应该是myInter里的team=”fishes”;应该输出:fishes;可运行时这行的输出却是:fishes-PartII. 为什么?
在第15和18行输出的也是fishes-PartII. 为什么不是fishes ?
上面几个问题小弟想破头了都不明白,望各位赐教,
问题二:
int[] testArr = new int[5];
int[][] testArr2 = null;
Object obj = testArr;
if(testArr instanceof int[])
System.out.println("testArr 数组参考 int[] 实体");
if(obj instanceof int[])
/*上面if语句中:instanceof定义是如果左边的“对象引用”是右边“类型”或为继承右方类型的“子类类型”则为true;如果按上面定义得到的应该是false;可运行得到的却是true,为什么呢?*/
{
System.out.println("Object 对象参考 int[] 实体");
System.out.println("int[] 数组长度= " + ((int[])obj).length);
}
if(testArr2 instanceof int[][])
System.out.println("testArr2 数组参考 int[][] 实体");
else
System.out.println("testArr2 数组未参考实体");
1:import java.lang.*;
2:public class j02090505
3:{
4: public static void main(String para[])
5: {
6: myInter mem1 = new myClass("colorfish");
7: mem1.showTeam();
8: ((myInterEx)mem1).showSuperTeam();
9: ((myClass)mem1).showName();
10: System.out.println( ((myClass)mem1).myName );
11: System.out.println( "字段测试一:" + mem1.team );
12: System.out.println( "字段测试二:" + ((myInterEx)mem1).team );
13: System.out.println( "==================================");
14: myClass mem2 = new myClass("小白鲨");
15: mem2.showTeam();
16: ((myInter)mem2).showTeam();
17: System.out.println( "字段测试三:" + ((myInter)mem2).team );
18: System.out.println( "字段测试四:" + mem2.team );
19: }
20:}
21:interface myInter
22:{
23: public static final String team = "fishes";
24: public void showTeam();
25:}
26:interface myInterEx extends myInter
27:{
28: public static final String team = "fishes-PartII";
29: public void showSuperTeam();
30:}
31:interface myInter2
32:{
33: public static final String team = "fishes";
34: public void showName();
35:}
36:class myClass implements myInterEx
37:{
38: String myName;
39: public myClass(String setName)
40: {
41: myName = setName;
42: }
43: public void showTeam()
44: {
45: System.out.println( team + " 小组");
46: }
47: public void showSuperTeam()
48: {
49: System.out.println( "延续自" + myInter.team + " 小组");
50: }
51: public void showName()
52: {
53: showTeam();
54: System.out.println( "姓名:" + myName );
55: }
56:}
问题:在第7行mem1是myInter的对象(引用实现它的类实例),mem1对象里的team变量应该是myInter里的team=”fishes”;应该输出:fishes;可运行时这行的输出却是:fishes-PartII. 为什么?
在第15和18行输出的也是fishes-PartII. 为什么不是fishes ?
上面几个问题小弟想破头了都不明白,望各位赐教,
问题二:
int[] testArr = new int[5];
int[][] testArr2 = null;
Object obj = testArr;
if(testArr instanceof int[])
System.out.println("testArr 数组参考 int[] 实体");
if(obj instanceof int[])
/*上面if语句中:instanceof定义是如果左边的“对象引用”是右边“类型”或为继承右方类型的“子类类型”则为true;如果按上面定义得到的应该是false;可运行得到的却是true,为什么呢?*/
{
System.out.println("Object 对象参考 int[] 实体");
System.out.println("int[] 数组长度= " + ((int[])obj).length);
}
if(testArr2 instanceof int[][])
System.out.println("testArr2 数组参考 int[][] 实体");
else
System.out.println("testArr2 数组未参考实体");
解决方案 »
- JAVA 引用拷贝和数组元素的拷贝
- 大家帮我看看这么计算程序代码执行的时间为什么不准确呢,
- 关于鼠标悬浮显示。
- = : 这个符号的作用是什么
- 如何查询vector类的每个元素呢?50分,给提示就给分!不够再加
- 大家快来抢分啊:怎样从URI标识的资源中读数据:
- Linux上有什么比较好的JAVA开发工具吗?象jbuilder那样。
- public class cuowu extends JFrame implements ItemListener{
- 我是初学者,如何把c盘下的文件夹 class12, 打包成class12.jar文件,我这老是出问题
- 很急的问题,怎么做两个最简单的APPLET程序。。。。。。。。。。。
- 将16进制字符串转换成10进制整数中的一点小疑问???
- 如何判断焦点落在界面哪个控件上??
要调用myInter的team ,应该myInter.team
testArr 是int[] 形
testArr instanceof int[])怎么不为true