一个关于类的问题 小弟迷茫了好久 在线等答案
class A{
}
Class B{
A a(){};
}
比如上面这个情况 为什么A a()这个方法要用A而不是void 之类的呢?
有什么特殊的意思呢?
哪个能详细的给解释下啊
小弟感激不尽
初学java问题很多。。。。。
[解决办法]
class A{ //类A} Class B{ A a(){}; //类B中方法a(),返回值为A类类型的,其实A a(){} <==> void a(){} <==> int a(){} //int 是基本数据类型,A看作复杂的类型就是了
[解决办法]
class A{
//类A
}
class B{
//类B
A a(){
//类B之中的a方法,返回的是一个A类型的对象
}
}
eg:
class PigHead{
}
class Pig{
PigHead head = new PigHead();
public PigHead getHead(){
return head;
}
}
[解决办法]
A a(){}
a()是一个函数,函数有返回值
如果用void则表示这个函数没有返回值
而用A则表示这个函数会返回一个类型为A的值。
建议多看看书吧,这个是最基础的
[解决办法]
class A{
//类A
}
class B{
//类B
A a(){
//类B之中的a方法,返回的是一个A类型的对象
}
}
以上a()方法的返回值类型是A,正如int a()方法的返回值类型是整型int,一样道理
[解决办法]
类也可以做为数据类型,是一个复杂数据类型~~~
[解决办法]
1楼的回答是最正确的, 被他抢先了, 哎!~
[解决办法]
如一楼所说的A是一种数据类型,返回的可以是一个A 还可以是一个接口,一般程序设计的时候接口要比类使用得多,列如:package alltest;interface ATest{ public void m1(); public void m2();}class BTest implements ATest{ public void m1() { } public void m2() { } public ATest returnType(){ return new BTest(); } }class CTest implements ATest{ public void m1() { } public void m2() { } public ATest returnType(){ return new CTest(); } }public class InterfaceTest { public void show(ATest a){ System.out.println(a.getClass()); } public static void main(String[] args) { InterfaceTest t = new InterfaceTest(); t.show(new BTest().returnType()); t.show(new CTest().returnType()); }}OutPut:class alltest.BTestclass alltest.CTest