求问这里的三个add(new FilledRect(0,0,stripe,height,Color.BLUE)); 为什么有问题。。应该怎么解决呢?因为这个题目是要求自己定义一个FilledRect类,继承GRect 的基础上,可以实现填充矩形并带上color。可是为什么这里的add 就出现问题了?这里的add (new....)括号中的new为什么不能省略。括号中的newFilledRect(0,0,stripe,height,Color.BLUE)是属于方法还是构造函数?谢谢大神!!!
2 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
首先你得确定 GRect 类有 public add(FilledRect filledRect){} 这个方法,如果没有,就在FilledRect 这个类下添加该方法并实现之。
如果括号里不用new ,代码可以改成下面例子:
FilledRect filledRect;
filledRect=new FilledRect(0,0,stripe,height,Color.BLUE);
add(filledRect);
filledRect=new FilledRect(0,0,stripe,height,Color.WHITE);
add(filledRect);
filledRect=new FilledRect(0,0,stripe,height,Color.RED);
add(filledRect);
---直接在括号中用new 只是为了精简代码,减少filledRect的每次赋值代码。
慕侠2389804
TA贡献1719条经验 获得超6个赞
add是个方法名字,你没有这个方法自然报错;
new是创建新对象必须的关键字,当然不能省略,new后面跟的是对象的构造函数,一般规范来说方法名称的首字母小写,构造函数的名称跟类名一样,首字母是大写的
添加回答
举报
0/150
提交
取消