ts 怎么在父类调用子类的方法
答案:3 悬赏:0 手机版
解决时间 2021-03-31 10:22
- 提问者网友:你独家记忆
- 2021-03-30 10:13
ts 怎么在父类调用子类的方法
最佳答案
- 五星知识达人网友:愁杀梦里人
- 2021-03-11 15:30
Object(protectd 方法在此类里),Person1 (默认继承Object), CloneDemo(用于测试)。
你想在测试类里用Person1的对象p1,去调用其应继承的父类的clone()方法,因为Object和Person1 不在一个包里 ,所以编译出错。假设Object 和Person1在相同的包里,这是没问题的。
下面的程序,只涉及到两个类,Test 和Testson,你在Testson里调用其父类的protected 方法没有问题。这是正常的。 现在你再加一个类,把Testson稍微改一下,再试一下,就会出现上面的问题了。
给你代码试试:
Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package t0;
public class Test
{
int a=1;
int b=1;
void say()
{
System.out.println("hello");
}
protected void result()
{
System.out.println(a+b);
}
}
Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package t1;
import t0.Test;
class Testson extends Test
{
int c=0;
void display()
{
result(); //不同包子类直接可见。
}
}
public class TestProtected
{
public static void main(String[] args)
{
Testson ts=new Testson();
ts.display();
//ts.result(); //编译报错.
}
}
你想在测试类里用Person1的对象p1,去调用其应继承的父类的clone()方法,因为Object和Person1 不在一个包里 ,所以编译出错。假设Object 和Person1在相同的包里,这是没问题的。
下面的程序,只涉及到两个类,Test 和Testson,你在Testson里调用其父类的protected 方法没有问题。这是正常的。 现在你再加一个类,把Testson稍微改一下,再试一下,就会出现上面的问题了。
给你代码试试:
Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package t0;
public class Test
{
int a=1;
int b=1;
void say()
{
System.out.println("hello");
}
protected void result()
{
System.out.println(a+b);
}
}
Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package t1;
import t0.Test;
class Testson extends Test
{
int c=0;
void display()
{
result(); //不同包子类直接可见。
}
}
public class TestProtected
{
public static void main(String[] args)
{
Testson ts=new Testson();
ts.display();
//ts.result(); //编译报错.
}
}
全部回答
- 1楼网友:低血压的长颈鹿
- 2020-04-04 04:43
Object(protectd 方法在此类里),Person1 (默认继承Object), CloneDemo(用于测试)。
你想在测试类里用Person1的对象p1,去调用其应继承的父类的clone()方法,因为Object和Person1 不在一个包里 ,所以编译出错。假设Object 和Person1在相同的包里,这是没问题的。
下面的程序,只涉及到两个类,Test 和Testson,你在Testson里调用其父类的protected 方法没有问题。这是正常的
- 2楼网友:鱼芗
- 2019-10-26 13:15
Object(protectd 方法在此类里),Person1 (默认继承Object), CloneDemo(用于测试)。
你想在测试类里用Person1的对象p1,去调用其应继承的父类的clone()方法,因为Object和Person1 不在一个包里 ,所以编译出错。假设Object 和Person1在相同的包里,这是没问题的。
下面的程序,只涉及到两个类,Test 和Testson,你在Testson里调用其父类的protected 方法没有问题。这是正常的。 现在你再加一个类,把Testson稍微改一下,再试一下,就会出现上面的问题了。
给你代码试试:
Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package t0;
public class Test
{
int a=1;
int b=1;
void say()
{
System.out.println("hello");
}
protected void result()
{
System.out.println(a+b);
}
}
Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package t1;
import t0.Test;
class Testson extends Test
{
int c=0;
void display()
{
result(); //不同包子类直接可见。
}
}
public class TestProtected
{
public static void main(String[] args)
{
Testson ts=new Testson();
ts.display();
//ts.result(); //编译报错.
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯