黑马程序员技术交流社区

标题: 关于继承间的调用 [打印本页]

作者: Kaitong    时间: 2014-4-4 17:36
标题: 关于继承间的调用
本帖最后由 Kaitong 于 2014-4-4 22:45 编辑

看到继承这的视频,看老师的代码,发现个问题,继承同一个父类的子类间方法可以相互调用么,例如:中国学生,美国学生都继承自Person类,中国学生类中包含有SayHello方法,美国学生类中没有这个方法,在定义美国学生对象时可以调用中国学生这个方法么?
  1. AmericanStu  stu1=new AmericanStu();
  2. AmericanStu.Hayhello();
复制代码

作者: _Water    时间: 2014-4-4 18:40
父类是提取出的是某类事物相同的部分,子类继承父类,还可以自定义自己独有的东西。比如中国学生类中包含有SayHello方法,既然是子类独有的,而且又没有和其他子类有关系的话(比如实现,继承),那凭什么让其他子类去调用呢?所以显然是不可以的。
  1. class Person
  2. {
  3.         public String name;
  4.         public int age;
  5.         Person(String name,int age)
  6.         {
  7.                 this.name=name;
  8.                 this.age=age;
  9.         }
  10. }

  11. class CHN extends Person
  12. {
  13.         CHN(String name,int age)
  14.         {
  15.                 super(name,age);
  16.         }
  17.         void show()
  18.         {
  19.                 System.out.println("CHN:"+this.name);
  20.         }
  21. }

  22. class AME extends Person
  23. {
  24.         AME(String name,int age)
  25.         {
  26.                 super(name,age);
  27.         }
  28. }

  29. class Test
  30. {
  31.         public static void main(String[] args)
  32.         {
  33.                 CHN c =new CHN("jean",20);
  34.                 c.show();
  35.                 AME a =new AME("jack",22);
  36.                 a.show();
  37.         }
  38. }
复制代码

//编译都不会通过:Test.java:39: 错误: 找不到符号
                a.show();
作者: Kaitong    时间: 2014-4-4 22:45
_Water 发表于 2014-4-4 18:40
父类是提取出的是某类事物相同的部分,子类继承父类,还可以自定义自己独有的东西。比如中国学生类中包含有 ...

好的,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2