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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 灰太狼爱平底锅1 中级黑马   /  2014-1-14 21:28  /  1055 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 灰太狼爱平底锅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,直接就错误了。。。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 版主请假归来,现在加分!

查看全部评分

7 个回复

正序浏览
范晓冲 发表于 2014-1-16 23:41
这个这样做:
首先在主函数main()中先生成一个Ye类的对象 ,

这也太简单了,哪有通过对象直接调用成员变量的,不怎么好
回复 使用道具 举报
这个这样做:
首先在主函数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, 下载次数: 10)

Ye.png
回复 使用道具 举报
这个可以这样做:
首先在主函数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: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, 下载次数: 16)

Ye.png

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 版主请假归来,现在加分!

查看全部评分

回复 使用道具 举报
可以在父类中写一个show方法调用爷类的num属性,
  1. public void show(){
  2.         System.out.println(super.num);
  3.          }
复制代码

在子类中用show()或super.show( )按情况调用
回复 使用道具 举报
试试用父类实例化子类的对象
回复 使用道具 举报
在父类方法加个super就行了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马