如下图中,求问这里的三个add为什么有问题?该怎么改?

求问这里的三个add(new FilledRect(0,0,stripe,height,Color.BLUE)); 为什么有问题。。应该怎么解决呢?因为这个题目是要求自己定义一个FilledRect类,继承GRect 的基础上,可以实现填充矩形并带上color。可是为什么这里的add 就出现问题了?
这里的add (new....)括号中的new为什么不能省略。括号中的newFilledRect(0,0,stripe,height,Color.BLUE)是属于方法还是构造函数?
谢谢大神!!!




侃侃尔雅
浏览 134回答 2
2回答

眼眸繁星

首先你得确定 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

add是个方法名字,你没有这个方法自然报错;new是创建新对象必须的关键字,当然不能省略,new后面跟的是对象的构造函数,一般规范来说方法名称的首字母小写,构造函数的名称跟类名一样,首字母是大写的
打开App,查看更多内容
随时随地看视频慕课网APP