Topic: [请教]关于方法重载的一个问题,谢谢先~

  Print this page

1.[请教]关于方法重载的一个问题,谢谢先~ Copy to clipboard
Posted by: soskitty
Posted on: 2005-05-26 15:48

class A {
int i, j;
A(int a, int b) {
i = a;
j = b;
}
  
void show() {
System.out.println("i and j:" + i + " " + j);
}
}

class B extends A {
int k;
B(int a, int b, int c) {
super(a, b);
k = c;
}
  
void show() {
System.out.println("k:" + k);
}
}

class Override {
public static void main(String args[]) {
B subOb = new B(1, 2, 3);
// subOb.show();
// A yinyong;
// yinyong=subOb;
// yinyong.show();

A yinyong;

yinyong = subOb;
yinyong.show();
}
}


执行的结果是 k:3

我想使用
void show() {
System.out.println("i and j:" + i + " " + j);
}
这个方法,应该怎么使用?

看书看到这里有点晕了~~
先谢谢大家了!

2.Re:[请教]关于方法重载的一个问题,谢谢先~ [Re: soskitty] Copy to clipboard
Posted by: 2352439
Posted on: 2005-05-26 16:15

class A
{
int i, j;
A(int a, int b)
{
i = a;
j = b;
}

void show()
{
System.out.println("i and j:" + i + " " + j);
}
}

class B extends A
{
int k;
B(int a, int b, int c)
{
super(a, b);
k = c;
}

void show()
{
System.out.println("k:" + k);
super.show();
}
}

class Override
{
public static void main(String args[])
{
B subOb = new B(1, 2, 3);

subOb.show();
}
}

3.Re:[请教]关于方法重载的一个问题,谢谢先~ [Re: soskitty] Copy to clipboard
Posted by: 2352439
Posted on: 2005-05-26 16:29

class A
{
int i, j;
A(int a, int b)
{
i = a;
j = b;
}

void show()
{
System.out.println("i and j:" "+ i + " " + j);
}
}

class B extends A
{
int k;
B(int a, int b, int c)
{
super(a, b);
k = c;
}

void show()
{
System.out.println("k:" + k);
super.show();
}
}

class Override
{
public static void main(String args[])
{
B subOb = new B(1, 2, 3);
subOb.show();
}
}

4.Re:[请教]关于方法重载的一个问题,谢谢先~ [Re: soskitty] Copy to clipboard
Posted by: soskitty
Posted on: 2005-05-26 16:33

void show() {
super.show();
}

呵呵谢谢~!
明白了。

我试了一下,使用super关键字可以解决这个问题,但把super换成this为什么不可以?是因为super只适用于类层级,而this只适用于嵌套方法吗?

5.Re:[请教]关于方法重载的一个问题,谢谢先~ [Re: soskitty] Copy to clipboard
Posted by: 2352439
Posted on: 2005-05-26 17:26

因为super用于对父类属性和方法的调用

而this针对同一个类而言的

6.Re:[请教]关于方法重载的一个问题,谢谢先~ [Re: soskitty] Copy to clipboard
Posted by: soskitty
Posted on: 2005-05-26 18:49

哦~~
我好像有点开窍了~~
多谢多谢!!

7.Re:[请教]关于方法重载的一个问题,谢谢先~ [Re: soskitty] Copy to clipboard
Posted by: johnsonpenn
Posted on: 2005-06-07 15:01

super,super()都是在子类中使用父类的属性,方法;
this则主要使用于类的内部,可以在类的构造方法等内部使用.


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923