永发信息网

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(); //编译报错.
}
}
全部回答
  • 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(); //编译报错. } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯