JAVA中方法前加new是什么意思?

publicvoidaddAttribute(inttype,byte[]value){addAttribute(newAttribute(type,value));}这... public void addAttribute(int type, byte[] value)
{
addAttribute(new Attribute(type, value));
}
这里主要不明白new +方法名是啥意思,不要new关键字的话报错:The method Attribute(int, byte[]) is undefined for the type AttributeList。求解,谢谢!

其中Attribute方法如下:
public Attribute(int type, byte[] value)
{
this(type, value.length + 2, value);
}
展开
 我来答
前端要摸鱼
推荐于2018-03-05 · TA获得超过104个赞
知道答主
回答量:22
采纳率:0%
帮助的人:14万
展开全部
new的作用是实例化。
比如有一种类叫狗类,你要创造一只阿黄,你就得这么创造:
狗类 阿黄=new 狗类();
这句话的意思是声明,阿黄是属于狗类这种类的,同时他的名字叫阿黄。
在JAVA语言中,new是实例化,你也可以理解为创造,从一种类中创造出一个真实的个体。
826010478
推荐于2016-09-08 · TA获得超过521个赞
知道小有建树答主
回答量:920
采纳率:53%
帮助的人:288万
展开全部
new是实例化,为了申请存储空间
有点类似于你C语言写了一个结构体,但是没有写结构体的变量。
new就是相当于生成一个这个结构体的变量。
追问
能详细点吗?我知道new是实例化,例如A a = new A() A a = new B();类似的我都知道,addAttribute(new Attribute(type, value));这句不知道怎么理解
追答
addAttribute(new Attribute(type, value));

addAttribute需要一个参数,这个参数是Attribute类型的,这个参数必须是个实例,所以要new出来啊
你也可以Attribute attribute=new Attribute(type,value);
addAttribute(attribute);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无敌何尝不可
2015-02-11 · TA获得超过567个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:176万
展开全部

我猜测你的这个类的大致构成是这样的。

public class Attribute{
List<Attribute> AttributeList;
public Attribute(){
this.AttributeList=new ArrayList<Attribute>();
}//这个是无参数的构造方法
public Attribute(int type, byte[] value){
}//这种是带参数的构造方法
public void addAttribute(int type, byte[] value){
 addAttribute(new Attribute(type, value));
}//这个是Attribute类中的方法
public void addAttribute(Attribute attribute){
AttributeList.add(Attribute);
}
}

其中有两个addAttribute方法,一个传递的参数是int, byte[],一个传递的参数是Attribute对象。两者的调用是不同的

追问
非常感谢大神的指点,你猜的基本正确。可惜只能采纳一个,抱歉啦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式