JAVA组合和继承的区别

java中的组合是什么意思?该如何使用?。classA{publicvoidmethod1(){}}publicclassB{privateAa;//此处该如何理解}那位... java中的组合是什么意思?该如何使用?。
class A{
public void method1(){
}
}
public class B{
private A a;//此处该如何理解
}
那位高手指教一二。
展开
 我来答
匿名用户
推荐于2017-05-26
展开全部
你定义了一个A类,所以你这样写:private A a;只是定义了一个关于A类的一个变量a,但是它是空的,所以你下面的a.method();肯定会报空指针异常(NullPointException),想可以用的话,你必须创建个对象,像你上面,就应该用A a = new A();
具体代码:
class A{
int year=2008;
public void method(){
System.out.println("a.method");
}
}
public class B{
private A a;
public static void main(String args[]){
B y=new B();
y.method1();
}
public void method1(){
a = new A();//注意这里
System.out.println("b.method");
a.method();
}
}
打印结果为:
b.method
a.method
匿名用户
2013-10-31
展开全部
private A a;//在类B中定义一个成员变量a,这个成员变量是类A的一个对象,private修饰符将这个变量定义为私有类型,即只能在类B内直接使用。如果你要在类B中使用类A中的方法,可以直接用a.method1();
例如:
public class B{
private A a;
B(){
a.method1();
}
}
如果你要在类B的定义体外使用a则需要在类B中再定义一个public或不作修饰的一个方法,在这个方法体里对a进行操作,例如:
public class B{
private A a;
public A m2(){
return a;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-31
展开全部
private A a,这里的意思就是创建一个A类的变量啊,因为刚开始不是定义了A类了吗?就是相当于private JButton jb一样的道理啊,这里的JButton也是一个类来的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式