A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Kaitong 中级黑马   /  2014-4-4 17:36  /  966 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Kaitong 于 2014-4-4 22:45 编辑

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

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

2 个回复

正序浏览
_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();

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马