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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© abian 中级黑马   /  2013-8-1 13:31  /  1012 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class A {


  2. static class R{

  3. void t(){
  4. System.out.println("R.t");
  5. }

  6. public R() {
  7. System.out.println("R before");
  8. t();
  9. System.out.println("R after");
  10. }
  11. }

  12. static class Rr extends R{


  13. private int n = 1;
  14. void t(){
  15. System.out.println("Rr.t");
  16. System.out.println("Rr.n : " + this.n);
  17. }

  18. public Rr(int n) {
  19. System.out.println("Rr before");
  20. this.n = n;
  21. System.out.println("Rr.n : " + this.n);
  22. System.out.println("Rr after");
  23. }
  24. }

  25. public static void main(String[] args) {

  26. new Rr(3);
  27. }
  28. }
复制代码
R before
Rr.t
Rr.n : 0
R after
Rr before
Rr.n : 3
Rr after

1、解释一下输出过程?

2、为什么黑色粗体能执行n的值是0?Rr的t为什么可以在Rr的初始化方法前执行?


1 个回复

倒序浏览
我对这一块也有点迷糊,求大神帮忙给具体解释一下。谢啦!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马