tenho duas classes:
package tst1.dobrador;
public class Dobrador{
public int dobre(int valor){
return valor*valor;
}
}
e
package tst1.bean;
import tst1.dobrador.Dobrador;
public class ExemploBean{
public int getDobro(int valor){
return Dobrador.dobre(valor);
}
}
quando eu compilo dobrador…tudo certo…quando eu compilo ExemploBean dah esse erro:
--------------------Configuration: <Default>--------------------
C:\JAVA\JCreator_Workspaces\JSP\ExemploBean.java:5: non-static method dobre(int) cannot be referenced from a static context
return Dobrador.dobre(valor);
^
1 error
O que eh?
[]'s
[quote=“Diana”]tenho duas classes:
package tst1.dobrador;
public class Dobrador{
public int dobre(int valor){
return valor*valor;
}
}
e
package tst1.bean;
import tst1.dobrador.Dobrador;
public class ExemploBean{
public int getDobro(int valor){
return Dobrador.dobre(valor);
}
}
quando eu compilo dobrador…tudo certo…quando eu compilo ExemploBean dah esse erro:
--------------------Configuration: <Default>--------------------
C:\JAVA\JCreator_Workspaces\JSP\ExemploBean.java:5: non-static method dobre(int) cannot be referenced from a static context
return Dobrador.dobre(valor);
^
1 error
O que eh?
[]'s[/quote]
O método dobre da classe Debrador não é estatico… e vc está chamando como se fosse…
Para funcionar ou vc declarada dobre como estático ou crie uma instância da classe Dobrador, e depois chame o método dobre… blz?
public static dobre(int valor)…
assim?
public static int dobre( int valor )
Bom, se vc naum quisesse criar um metodo estatico, vc poderia instanciar a classe e depois chamar o metodo, +/- assim:
package tst1.bean;
import tst1.dobrador.Dobrador;
public class ExemploBean{
public int getDobro(int valor){
Dobrador d = new Dobrador();
return d.dobre(valor);
}
}
Assim deve funcionar tbm…