java B{ A ab = A.get(b) } A是类名,get(b)是类A的一个方法。 我想知道ab是什么,是类A的对象变量么?
这句是对ab的初始化么,对象的初始化不都是用new的么。另外在这句之后,是不是在栈中就存在了一个类A的对象了……在线等……...
这句是对ab的初始化么,对象的初始化不都是用new的么。
另外在这句之后,是不是在栈中就存在了一个类A的对象了……
在线等…… 展开
另外在这句之后,是不是在栈中就存在了一个类A的对象了……
在线等…… 展开
3个回答
展开全部
ab 是 A类的一个对象。
get(b)是一个静态方法(用static修饰的方法),不需要创建对象就可以调用。
例如类A中有一个方法是:
public static A get( ……参数 ){
A a; 创建一个A类的对象。
内容……内容中有给a传递引用或者创建a的语句。
return a; 返回一个A类的对象。
}
这样一来在你写的语句中 A ab = A.get(b); 就是调用了A类中的静态方法,返回一个A类的对象,直接赋给了ab。
这样说能看懂吗?
get(b)是一个静态方法(用static修饰的方法),不需要创建对象就可以调用。
例如类A中有一个方法是:
public static A get( ……参数 ){
A a; 创建一个A类的对象。
内容……内容中有给a传递引用或者创建a的语句。
return a; 返回一个A类的对象。
}
这样一来在你写的语句中 A ab = A.get(b); 就是调用了A类中的静态方法,返回一个A类的对象,直接赋给了ab。
这样说能看懂吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A.get(b) 这里的get(b)是static方法,可以直接用类名加.来调用
get(b)返回的是一个A的对象,赋值给ab
get(b)返回的是一个A的对象,赋值给ab
更多追问追答
追问
我想知道这句是不是就如同 A a = new A();一样,是对对象变量a的初始化么?
get(b)返回的是一个对象,如果它的结果如果是个确切的值,那么此值是否为对象?
我其实是想确定这条语句是干什么的(目前来看是初始化),另外想知道如果返回值为数值,则是否转换为数值引用,那么ab就不能在作为对象来引用了?
追答
首先 A ab = A.get(b)不等于A a = new A();
如果get(b)不是static的,那么怎么调用get(b)呢,这个就需要
A a = new A();
A ab = a.get(b);
A ab可以理解为是定义的一个A类型的变量,好比int i 定义的是int型的变量一样
然后等号就是赋值语句了,这个赋值不是new A(), A(){...}是一个默认的构造器,
而get(b)是一个方法。
然后你说的确切的值我就不懂了,这个确切的值是指什么,不过从A ab = A.get(b)这里可以得到一点就是get(b)返回类型必须是A类型的。如果不是就会报错,类比
int Add(int i,int j){
return i+j;
} 前面的int就是定义的返回类型,如果你返回值不是这个类型就会报错
int a=Add(2,3) ,因为Add()返回的是int型,所以a也必须是int型的,你可以对比下A ab = A.get(b)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先 ab是A的对象变量。
其次执行,ab是A.get(B)的返回值 , get方法返回的就是ab的值。
其次执行,ab是A.get(B)的返回值 , get方法返回的就是ab的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询