黑马程序员技术交流社区

标题: 构造传参问题 [打印本页]

作者: Justfeeling    时间: 2014-8-8 10:41
标题: 构造传参问题

class Cat{
            Cat(int c){
                    System.out.print("cat"+c+" ");  
            }
}         
class SubCat extends Cat{       
            SubCat(int c){
                    super(5);
                    System.out.print ("cable");
            }
        SubCat(){
                this(4);
        }
        public static void main(String[] args){
                    SubCat s = new SubCat();
               }
}



作者: dreamseekerkun    时间: 2014-8-8 12:46
楼主想表达什么,cat5------cable
作者: Justfeeling    时间: 2014-8-8 14:43
dreamseekerkun 发表于 2014-8-8 12:46
楼主想表达什么,cat5------cable

详细运算过程呀

作者: WJN_YES    时间: 2014-8-8 16:16
首先看主程序入口  SubCat s = new SubCat();这时候调用SubCat的构造函数,因为没有参数,所以调用无参数的构造函数  SubCat(),里面this(4),表示调用自己本身的有一个参数的构造函数 SubCat(int c),接下来  super(5);
调用父类的构造函数,将参数5传递进去 Cat(int c),这时候打印cat5,接下来执行 SubCat(int c)里面的第二句打印System.out.print ("cable");所以最终的结果就是cat5------cable
作者: 玥夜    时间: 2014-8-8 20:26
楼上正解  我认为啊




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