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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© runner 中级黑马   /  2016-5-18 22:24  /  507 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


                class Fu{
                        public int num = 10;
                        public Fu(){
                                System.out.println("fu");
                        }
                }
                class Zi extends Fu{
                        public int num = 20;
                        public Zi(){
                                System.out.println("zi");
                        }
                        public void show(){
                                int num = 30;
                                System.out.println(num);
                                System.out.println(this.num);
                                System.out.println(super.num);
                        }
                }
                class Test1_Extends {
                        public static void main(String[] args) {
                                Zi z = new Zi();
                                z.show();
                        }
                }

1 个回复

倒序浏览
fu
zi
30
20
10
解释:
1、通过Zi z = new Zi(); 创建子类对象时,子类继承父类,先通过父类构造函数进行初始化,在由子类的构造函数初始化,所以先输出fu,在输出zi;
2、z.show(); 子类调用show方法中,




  • num指的是这个方法中的定义的局部变量num,
  • this.num指的是Zi这个子类中本类中定义的成员变量num,
  • super.num指的是父类Fu中定义的成员变量num








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