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);
} 展开
{
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);
} 展开
展开全部
new是实例化,为了申请存储空间
有点类似于你C语言写了一个结构体,但是没有写结构体的变量。
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);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我猜测你的这个类的大致构成是这样的。
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对象。两者的调用是不同的
追问
非常感谢大神的指点,你猜的基本正确。可惜只能采纳一个,抱歉啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询