再次使用不同类中的数组

时间:2014-03-19 16:27:03

标签: java arrays class

我想从一个类中获取一个数组,并在具有相同值的其他类中再次使用它 头等舱:

package Interface;
import java.util.Collection;
import petriNet.Arc;
import petriNet.Node;

public class SMVCode {


 public String catas[][]=new String[100][100];
 public  int type[][]=new int[100][100];
 Node noeud[][]=new Node[100][100];

 /*

 // fiew line codes 

 */

 public int createInitBlocr1 (StringBuffer sb, int k1, int y, Object[] a,int incp,int  inct,int f)
 {

  Collection cd=((Node)a[k1]).getLeavings().values();
  Object[] ab=cd.toArray();     
  int p=0;
  int t=0;
  for(int j=0;j<ab.length;j++)
  {
        Node trn= ((Arc)ab[j]).getDestination(); 
        catas[y][f]=trn.getName();  
        type[y][f]=trn.getType();
        noeud[y][f]=trn;
        f++;
        f=createInitBlocr2 (sb,y, a,trn,incp,inct,p,t,f);            
  } 
  return f;
   }

   public int createInitBlocr2 (StringBuffer sb,  int y, Object[] a, Node trn1,int  incp,int inct,int p,int t,int f){
 //
  return y;
  }

public String[][] getCatas(){
  return catas;
  }
 }

第二课:

        /*
         * To change this template, choose Tools | Templates
         * and open the template in the editor.
         */
        package Interface;

        import java.awt.*;
        import java.io.Serializable;
        import javax.swing.*;
        import Model_Checking.SMVCode;


        public class Composite extends JFrame implements Serializable{

                JFrame frame = new JFrame("Web Service Composit");
                public SMVCode c;
                JInternalFrame disignInternalFrame=new JInternalFrame("Workflow Process Designer");



               public Composite() {
            enableEvents(AWTEvent.WINDOW_EVENT_MASK);
            try {

                jbInit();
            }
            catch(Exception e) {
              e.printStackTrace();
            }
          }

          private void jbInit() throws Exception {

                frame.setSize(new Dimension(800, 600));
               frame.setVisible(true);
               disignInternalFrame.setSize(new Dimension(750,550));
                disignInternalFrame.setIconifiable(false);
            disignInternalFrame.setMaximizable(true);
             disignInternalFrame.setClosable(false);
           disignInternalFrame.setAutoscrolls(true);
            disignInternalFrame.setResizable(true);
            disignInternalFrame.setVisible(true);
            disignInternalFrame.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
                frame.add(disignInternalFrame);


           //SMVCode c= new SMVCode();
           String[][] nom = c.catas;     

        int nbr =0;
        /*

        // fiew line codes 

        */

           for(int i =0; i<100;i++){
               for(int j=0;j<100;j++){
                    if(nom[i][j]!= null){
                   nbr = nbr +1;
                    }
                }
          }

        }

        }

我的问题是当我使用我的数组“Catas”时,我发现它是安培的而不是我在方法“createInitBlocr1”中的值。我只想要在Composit Class中使用与SMVCode Class相同的数组。

1 个答案:

答案 0 :(得分:0)

将数组声明为使数组为静态(您必须使用静态函数初始化它)或者使用getter和setter方法来设置和获取数组