发布网友 发布时间:2023-08-01 05:32
共3个回答
热心网友 时间:2024-11-02 20:11
这里面System.out.println(i)调用b里面定义的toString();因为输出字符串是调用toString()方法,如果子类没有定义toString()方法则会调用父类的,如果父类没有定义则最终会调用超级父类的Object的toString()方法,然后rr是b类定义的一个属性,其对象为String,就会调用String里面的toString()方法,所有System.out.println(i.rr);其实是调用了String里面的toString()方法追问就是说System.out.println(i.rr)调用的不是我重写的这个toString()方法是吗?
热心网友 时间:2024-11-02 20:11
将System.out.println(i); 默认调用toString ,System.out.println(i.rr);的意思是输入b类的rr的属性热心网友 时间:2024-11-02 20:11
因为类b继承了类a,而类a重写了toString()方法,system.out.print(i)默认调用了i.toString(),所以输出了aa,i.rr则是输出i对象的属性rr的值