这是一个JAVA方法覆盖的一段小程序,为什么我在加了class R extends C个以后和之前的编译结果是一样的呢?
如下是这段程序,请指点啊~~~publicclassC{intX=0;voidtest(intx){System.out.println("test(int)="+x);...
如下是这段程序,请指点啊~~~
public class C
{
int X=0;
void test(int x)
{
System.out.println("test(int)="+x);
}
void test (long x)
{
System.out.println("test(long)="+x);
}
void test(double x)
{
System.out.println("test(double)="+x);
}
class R extends C
{
void test(int x)
{
System.out.println("in R.test(int)="+x);
}
void test(String x,int y)
{
System.out.println("in R.test(String,int)="+x+","+y);
}
}
public static void main(String args[])
{
C c1=new C();
c1.test(5.0);
c1.test(5);
}
}
编译出的结果还是
test(double)=5.0
test(int)=5
正常的应该是子类中的那个输出了啊
一楼的朋友你这个C c1 = new R(); 明显是错的啊
二楼的,就是不会才问呢,在你看来没有逻辑没有价值的东西对我来说就是成长的道路。你就算考上清华北大了,你就算非常厉害也没必要来这里以损别人的方式来显摆你的资本吧。 展开
public class C
{
int X=0;
void test(int x)
{
System.out.println("test(int)="+x);
}
void test (long x)
{
System.out.println("test(long)="+x);
}
void test(double x)
{
System.out.println("test(double)="+x);
}
class R extends C
{
void test(int x)
{
System.out.println("in R.test(int)="+x);
}
void test(String x,int y)
{
System.out.println("in R.test(String,int)="+x+","+y);
}
}
public static void main(String args[])
{
C c1=new C();
c1.test(5.0);
c1.test(5);
}
}
编译出的结果还是
test(double)=5.0
test(int)=5
正常的应该是子类中的那个输出了啊
一楼的朋友你这个C c1 = new R(); 明显是错的啊
二楼的,就是不会才问呢,在你看来没有逻辑没有价值的东西对我来说就是成长的道路。你就算考上清华北大了,你就算非常厉害也没必要来这里以损别人的方式来显摆你的资本吧。 展开
4个回答
展开全部
C c1=new C();
这里修改为C c1 = new R();
这里修改为C c1 = new R();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-03-22
展开全部
sb代码,乱死了,没有逻辑,没有价值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先这种牛角尖的问题没必要去研究 没有意义没有价值 浪费时间
其次 针对你这个问题 R 是C 的内部类 main方法是静态的 内部类也要定义为静态 才可以访问
其次 针对你这个问题 R 是C 的内部类 main方法是静态的 内部类也要定义为静态 才可以访问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询