黑马程序员技术交流社区

标题: 继承的问题。。 [打印本页]

作者: 灰太狼爱平底锅1    时间: 2014-1-14 21:28
标题: 继承的问题。。
本帖最后由 灰太狼爱平底锅1 于 2014-1-26 21:56 编辑
  1. //爷类
  2. class Ye{
  3.         int num = 3;
  4. }
  5. //父类
  6. class fu extends Ye{
  7.         int num = 4;
  8. }
  9. //子类
  10. class Zi extends fu{
  11.         int num = 5;
  12.         void show(){
  13.                 System.out.println(super.num);
  14.         }
  15. }
  16. public class Extends {
  17.         public static void main(String[] args) {
  18.         Zi z = new Zi();
  19.         z.show();
  20.         }
  21. }
复制代码

z.show()输出的是父类的num,如何简便的在子类中调用爷类的num输出呢?开始想试试super.super.num,直接就错误了。。。


作者: 黄晓鑫    时间: 2014-1-14 22:56
在父类方法加个super就行了
作者: mrwise1991    时间: 2014-1-14 23:06
试试用父类实例化子类的对象
作者: qisikudingcha    时间: 2014-1-16 17:24
可以在父类中写一个show方法调用爷类的num属性,
  1. public void show(){
  2.         System.out.println(super.num);
  3.          }
复制代码

在子类中用show()或super.show( )按情况调用
作者: 范晓冲    时间: 2014-1-16 23:34
本帖最后由 范晓冲 于 2014-1-16 23:36 编辑

这个这样做:
首先在主函数main()中先生成一个Ye类的对象 ,

然后通过引用y调用成员变量num直接打印即可

代码如下:


  1. //爷类
  2. class Ye{
  3.                 int num = 3;
  4. }
  5. //父类
  6. class fu extends Ye{
  7.     int num = 4;
  8. }
  9. //子类
  10. class Zi extends fu{
  11.     int num = 5;
  12.     void show(){
  13.             System.out.println(super.num);
  14.     }
  15. }
  16. public class Extends {
  17.     public static void main(String[] args) {
复制代码




输出结果:





Ye.png (21.25 KB, 下载次数: 15)

Ye.png

作者: 范晓冲    时间: 2014-1-16 23:39
这个可以这样做:
首先在主函数main()中先生成一个Ye类的对象 ,
然后通过引用y调用成员变量num直接打印即可

  1. //爷类
  2. class Ye{
  3.                 int num = 3;
  4. }
  5. //父类
  6. class fu extends Ye{
  7.     int num = 4;
  8. }
  9. //子类
  10. class Zi extends fu{
  11.     int num = 5;
  12.     void show(){
  13.             System.out.println(super.num);
  14.     }
  15. }
  16. public class Extends {
  17.     public static void main(String[] args) {
复制代码

结果是:


Ye.png (21.25 KB, 下载次数: 4)

Ye.png

作者: 范晓冲    时间: 2014-1-16 23:41
这个这样做:
首先在主函数main()中先生成一个Ye类的对象 ,

然后通过引用y调用成员变量num直接打印即可

代码如下:

  1. //爷类
  2. class Ye{
  3.                 int num = 3;
  4. }
  5. //父类
  6. class fu extends Ye{
  7.     int num = 4;
  8. }
  9. //子类
  10. class Zi extends fu{
  11.     int num = 5;
  12.     void show(){
  13.             System.out.println(super.num);
  14.     }
  15. }
  16. public class Extends {
  17.     public static void main(String[] args) {
  18.               //1、首先在主函数main()中先生成一个Ye类的对象 ,
  19.               Ye y=new Ye();
  20.               //2、然后通过引用y调用成员变量num直接打印即可
  21.                     System.out.println("爷类的变量num的值是:"+y.num);
  22.     }
  23. }
复制代码

结果:


Ye.png (21.25 KB, 下载次数: 9)

Ye.png

作者: 汤柳清    时间: 2014-1-17 10:20
范晓冲 发表于 2014-1-16 23:41
这个这样做:
首先在主函数main()中先生成一个Ye类的对象 ,

这也太简单了,哪有通过对象直接调用成员变量的,不怎么好




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