如何在一个对象b1中调用生成这个对象的对象a1的一个方法。 public class b extends a{ public b(){ super(); } b b1=new b();}记不太清楚了,好象是这样或者b b1=new a(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果 class b extends a那么 b b1=new a();是错误的,应该颠倒过来:a a1=new b(); 多谢帮我问,不同意楼上的说法,两个原因,因为1、b类是很简单的类要从复杂的a类继承太不合理了2、所有的b类实例都要存取的是一个a1类里面的二位数组,而不是各自的. 在b类定义一个构造函数b(a a1),在a类中调用创建b1时,将a类的一个实例a1传进去。 需求:1.运行时,a只能有一个实例,b类有多个实例2.b类的实例对象obj能随时调用a类实例a1,并能随时设置a1的数组array.我的代码如下(欢迎批评指正):class a{ int[][] array; private static a a1 = new a(); a(){ } public static a getA(){ return a1; }}class b{ a a1=a.getA(); b() { } void setArray(int[][] temp){ a1.array=temp; }}class Test{ public static void main(String[] args) { b obj=new b(); int[][] temp={{1,2},{3,4},};//可随意设置 obj.setArray(temp); for(int i=0;i<obj.a1.array.length;i++) for(int j=0;j<obj.a1.array[i].length;j++) System.out.println("array["+i+"]["+j+"] = "+obj.a1.array[i][j]); }} 非常同意 han10(虚心学习中...) 的做法,不过你的for(int i=0;i<obj.a1.array.length;i++) for(int j=0;j<obj.a1.array[i].length;j++) System.out.println("array["+i+"]["+j+"] = "+obj.a1.array[i][j]);要改成a newa= a.getA();for(int i=0;i<newa.array.length;i++) for(int j=0;j<newa.array[i].length;j++) System.out.println("array["+i+"]["+j+"] = "+newa.array[i][j]);才对 另外如果你的int[][] array;改成static int[][] array;则上面可以改成for(int i=0;i<a.array.length;i++) for(int j=0;j<a.array[i].length;j++) System.out.println("array["+i+"]["+j+"] = "+a.array[i][j]);另外你的变量名array不太好。欢迎大家批评指正 请求支援:如何在问本框里输入字符后回车让按钮获得焦点并触发按钮的单击事件 有关split()方法的问题,来看看 年前面试软件园一家小公司的22道选择题 j2se迷茫中..... 读取excel时出现异常 关于Date的问题 请问在spring中有没有办法在程序中修改Bean的值,然后把修改的值保存到对应的spring配置文件中去。 applet每次都要下载一遍,太慢了 包的问题!!!!!!!!!!!!!!!!! chtwoy你好!给分 !再求救!!!!!!!!! 请问如何实现jtree得刷新呢 怎么让JButton获得焦点
两个原因,因为
1、b类是很简单的类要从复杂的a类继承太不合理了
2、所有的b类实例都要存取的是一个a1类里面的二位数组,而不是各自的.
1.运行时,a只能有一个实例,b类有多个实例
2.b类的实例对象obj能随时调用a类实例a1,并能随时设置a1的数组array.
我的代码如下(欢迎批评指正):
class a{
int[][] array;
private static a a1 = new a();
a(){
}
public static a getA(){
return a1;
}}class b{
a a1=a.getA();
b()
{
}
void setArray(int[][] temp){
a1.array=temp;
}
}class Test{
public static void main(String[] args) {
b obj=new b();
int[][] temp={{1,2},{3,4},};//可随意设置
obj.setArray(temp);
for(int i=0;i<obj.a1.array.length;i++)
for(int j=0;j<obj.a1.array[i].length;j++)
System.out.println("array["+i+"]["+j+"] = "+obj.a1.array[i][j]);
}
}
for(int i=0;i<obj.a1.array.length;i++)
for(int j=0;j<obj.a1.array[i].length;j++)
System.out.println("array["+i+"]["+j+"] = "+obj.a1.array[i][j]);
要改成
a newa= a.getA();
for(int i=0;i<newa.array.length;i++)
for(int j=0;j<newa.array[i].length;j++)
System.out.println("array["+i+"]["+j+"] = "+newa.array[i][j]);
才对
另外如果你的int[][] array;
改成static int[][] array;
则上面可以改成
for(int i=0;i<a.array.length;i++)
for(int j=0;j<a.array[i].length;j++)
System.out.println("array["+i+"]["+j+"] = "+a.array[i][j]);
另外你的变量名array不太好。
欢迎大家批评指正