2017-10-20 30 views
1

j'ai ce code:comment appeler une variable d'une autre classe dans bluJay

public class Barrier 
{ 
    private Car myCar; 
    private Sensor mySensor; 
    private Card myCard; 

public Barrier() 
{ 
    myCar = new Car(); 
    mySensor = new Sensor(); 
    myCard = new Card(); 
} 
} 

et ce code

public class Card 
{ 
    private int Card1; 

public void get_no_card(int result) 
{ 
    Card1 = result; 
} 

public void display() 
{ 
    if (Card1 == 1) 
    { 
     System.out.println("Card is present"); 
    } 
} 

je veux appeler la Card1 variable de la classe de la carte dans la classe Barrière , de sorte que la classe de barrière peut sortir Carte est présente ainsi que la classe de carte, comment puis-je faire à ce sujet?

+0

vous changez votre nom de méthode 'get_no_card' en' setCard1'. Puis écrivez un 'getCard1()' qui retourne 'Card1'. et appelez 'myCard.getCard1();' ou 'myCard.display()' dans 'Barrier' quelque part –

+0

okay mal faire un essai merci :) –

+0

La classe d'un objet peut être récupérée en appelant getClass() sur ce objet. c'est-à-dire myCard.getClass() ' –

Répondre

0

J'espère que je vous ai bien compris. D'abord la classe Barrière:

public class Barrier { 
    private Car myCar; 
    private Sensor mySensor; 
    private Card myCard; 

    public Barrier() { 
     myCar = new Car(); 
     mySensor = new Sensor(); 
     myCard = new Card(); 
    } 

    public void callCard() { 
     myCard.setCard1(1); 
     myCard.display(); 
     System.out.println("The class type of myCard is " + myCard.getClass().getName()); 
    } 
} 

Et la classe de la carte:

public class Card { 

    private int Card1; 

    public void display() { 
     if (getCard1() == 1) { 
      System.out.println("Card is present"); 
     } 
    } 

    public int getCard1() { 
     return Card1; 
    } 

    public void setCard1(int card1) { 
     Card1 = card1; 
    } 
} 

Et le tester:

class Test { 

    public static void main(String[] args) {  
     Barrier b = new Barrier(); 
     b.callCard(); 
    } 
} 

Ainsi, lorsque nous appelons la méthode callCard() nous avons d'abord la valeur de Card1 à 1 pour que display() imprime le texte. Ensuite, nous imprimons le nom du type de classe de myCard.