Dúvida

OPa!

Eu estava tentando fazer uma coisa meio doida aqui, mas não ta dando certo… Eu criei um método static em uma classe que retorna uma variável static boolean. Essa variável é para saber se a classe está rodando. quando eu chamo o método start() da classe eu atribuo true a ela. O problema é que esse classe tem um método main e eu não chamo ela atravéz de outra classe. eu pensei que por ser static a variável ia manter o valor se fosse instanciada, mas parada que isso só funciona se o método for chamado na mesma classe… Foi complicado o que eu falei acima vou tentar explicar melhor…

tenho a classe

[code]
class Teste(){
private static boolean running = false;

public start(){
running = true;
}

public static boolean isRunning(){
return running;
}
}

public static void main(String[] args){
Teste teste = new Teste();
teste.start();
}
}[/code]

e a outra classe que ta dadno o problema, a classe acima já está rodando e eu chamo essa outra classe na hora em que chamo Teste.isRunning() ele me retorna false… espero que vocês tenham entendido… Na verdade eu queria um controla para ver se a classe Teste já estava rodando em outro shell, essa classe está dentro de uma Thread em um loot então ela vai fikar sempre rodando.

Valeu

opa beleza?

bom no seu start este método não é static… :roll:

você tentou usar assim?

[code]class ThreadFlag(){
private static boolean running = false;

public static start(){
running = true;
}

public static stop(){
running = false;
}

public static boolean isRunning(){
return running;
}

public static void main(String[] args){
ThreadFlag.start(); // muda o flag para true
ThreadFlag.isRunnimg(); // verifica o valor do flag
ThreadFlag.stop(); // muda o flag para false
}
}[/code]

abraços