Se um dia você não quiser dá nome a sua classe, estara criando classe anônima. Classes anônmas são classes, que são declaradas, "on-the-fly", ou seja, onde são necessárias, dentro de um bloco de código.
Se sabemos que não vamos precisar dela após, logo não temos necessidade de dar-lhe um nome que permita acesso posterior. Estas classes sempre herdam de uma classe ou implementam uma interface e não possuem seus construtores.
Exemplo:
interface Interface {
String exibeNome();
}
public class TesteAnonimo {
public static void main(String[] args) {
Interface inter = (new Interface() {
public String exibeNome() {
return "gilberto masetto";
}
});
System.out.println("Meu nome é: " + inter.exibeNome());
}
}
segunda-feira, 28 de fevereiro de 2011
segunda-feira, 21 de fevereiro de 2011
Operador de comparação instanceof
O operador instanceof é usado para verificar vairiáveis de referência, pode ser usado para verificar se um objeto é de um tipo específico, por exemplo:
Criar uma classe Veiculo
public class Veiculo {
String placa;
String cor;
String modelo;
int rodas;
}
Criar um classe Carro
public class Carro extends Veiculo {
int estepe;
int limpador;
int volante;
}
Agora criar um classse Main de teste
public class Main {
public static void main(String[] args) {
//Instância classe Carro
Carro c = new Carro();
//Verifica se c é ums instãncia de veiculo
if(c instanceof Veiculo){
System.out.println("entra aqui");
}
}
}
Isso significa que você sempre pode testar uma referência de objeto com instanceof
Criar uma classe Veiculo
public class Veiculo {
String placa;
String cor;
String modelo;
int rodas;
}
Criar um classe Carro
public class Carro extends Veiculo {
int estepe;
int limpador;
int volante;
}
Agora criar um classse Main de teste
public class Main {
public static void main(String[] args) {
//Instância classe Carro
Carro c = new Carro();
//Verifica se c é ums instãncia de veiculo
if(c instanceof Veiculo){
System.out.println("entra aqui");
}
}
}
Isso significa que você sempre pode testar uma referência de objeto com instanceof
segunda-feira, 14 de fevereiro de 2011
Criando uma conexão com uma portal serial
Criar um projeto com um nome qualquer, e depois criar um classe chamada SerialConnection.
import java.io.InputStream;
import java.io.OutputStream;
import javax.comm.CommDriver;
import javax.comm.CommPortIdentifier;
import javax.comm.PortInUseException;
import javax.comm.SerialPort;
/**
*
* @author gilberto.masetto
*/
public class SerialConnection {
private SerialPort porta;
private InputStream in;
private OutputStream out;
public static final int VELOCIDADE_PADRAO = 9600;
public static final int BITS_DADOS_PADRAO = SerialPort.DATABITS_8;
public static final int BITS_PARADA_PADRAO = SerialPort.STOPBITS_2;
public static final int PARIDADE_PADRAO = SerialPort.PARITY_NONE;
public static final int TIMEOUT_PADRAO = 1000;
public static final String PORTA_PADRAO_WINDOWS = "COM1";
//Construtor que inicializa com a porta setada
public void openCommunication() throws Exception {
try {
//Acessa a lib comm.jar que fica dentro do JDK 1.6
String driverName = "com.sun.comm.Win32Driver";
//Cria uma instância
CommDriver commDriver = (CommDriver) Class.forName(driverName).newInstance();
synchronized (commDriver) {
//Inicializa o driver e abre e cria a conexão com a porta
commDriver.initialize();
porta = (SerialPort) commDriver.getCommPort(PORTA_PADRAO_WINDOWS, CommPortIdentifier.PORT_SERIAL);
}
setParameters(VELOCIDADE_PADRAO, BITS_DADOS_PADRAO, BITS_PARADA_PADRAO, PARIDADE_PADRAO);
//Entrada de dados
in = porta.getInputStream();
//Saída de dados
out = porta.getOutputStream();
} catch (PortInUseException e) {
throw new Exception("A porta " + PORTA_PADRAO_WINDOWS + " está em uso", e);
} catch (Exception e) {
throw new Exception("Porta não encontrada " + PORTA_PADRAO_WINDOWS, e);
}
}
//Verifica se está conectado
public boolean isConnected() {
if (porta != null) {
return true;
} else {
return false;
}
}
//Desconecta
public void disconect() throws Exception {
if (isConnected()) {
closeCommunication();
}
}
public void setParameters(int velocidade, int dados, int parada, int paridade) throws Exception {
try {
porta.setSerialPortParams(velocidade, dados, parada, paridade);
} catch (Exception e) {
throw new Exception("Operação não suportada", e);
}
}
public void closeCommunication() throws Exception {
try {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
if (porta != null) {
porta.close();
}
} catch (Exception e) {
throw new Exception("Erro ao fechar porta", e);
}
}
}
import java.io.InputStream;
import java.io.OutputStream;
import javax.comm.CommDriver;
import javax.comm.CommPortIdentifier;
import javax.comm.PortInUseException;
import javax.comm.SerialPort;
/**
*
* @author gilberto.masetto
*/
public class SerialConnection {
private SerialPort porta;
private InputStream in;
private OutputStream out;
public static final int VELOCIDADE_PADRAO = 9600;
public static final int BITS_DADOS_PADRAO = SerialPort.DATABITS_8;
public static final int BITS_PARADA_PADRAO = SerialPort.STOPBITS_2;
public static final int PARIDADE_PADRAO = SerialPort.PARITY_NONE;
public static final int TIMEOUT_PADRAO = 1000;
public static final String PORTA_PADRAO_WINDOWS = "COM1";
//Construtor que inicializa com a porta setada
public void openCommunication() throws Exception {
try {
//Acessa a lib comm.jar que fica dentro do JDK 1.6
String driverName = "com.sun.comm.Win32Driver";
//Cria uma instância
CommDriver commDriver = (CommDriver) Class.forName(driverName).newInstance();
synchronized (commDriver) {
//Inicializa o driver e abre e cria a conexão com a porta
commDriver.initialize();
porta = (SerialPort) commDriver.getCommPort(PORTA_PADRAO_WINDOWS, CommPortIdentifier.PORT_SERIAL);
}
setParameters(VELOCIDADE_PADRAO, BITS_DADOS_PADRAO, BITS_PARADA_PADRAO, PARIDADE_PADRAO);
//Entrada de dados
in = porta.getInputStream();
//Saída de dados
out = porta.getOutputStream();
} catch (PortInUseException e) {
throw new Exception("A porta " + PORTA_PADRAO_WINDOWS + " está em uso", e);
} catch (Exception e) {
throw new Exception("Porta não encontrada " + PORTA_PADRAO_WINDOWS, e);
}
}
//Verifica se está conectado
public boolean isConnected() {
if (porta != null) {
return true;
} else {
return false;
}
}
//Desconecta
public void disconect() throws Exception {
if (isConnected()) {
closeCommunication();
}
}
public void setParameters(int velocidade, int dados, int parada, int paridade) throws Exception {
try {
porta.setSerialPortParams(velocidade, dados, parada, paridade);
} catch (Exception e) {
throw new Exception("Operação não suportada", e);
}
}
public void closeCommunication() throws Exception {
try {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
if (porta != null) {
porta.close();
}
} catch (Exception e) {
throw new Exception("Erro ao fechar porta", e);
}
}
}
sexta-feira, 11 de fevereiro de 2011
Configurar seu computador para leitura de porta serial
Copie e cole os arquivos em :
arquivo: Comm.jar
destino: C:\Arquivos de programas\Java\SEU_JRE\lib\ext
arquivo: Win32com.dll
destino: C:\Arquivos de programas\Java\SEU_JRE\bin
arquivo: Javax.comm.properties
destino: C:\Arquivos de programas\Java\SEU_JRE\lib
Desenvolvedores colar os arquivos no JRE incluso no JDK
arquivo: Comm.jar
destino: C:\Arquivos de programas\Java\SEU_JRE\lib\ext
arquivo: Win32com.dll
destino: C:\Arquivos de programas\Java\SEU_JRE\bin
arquivo: Javax.comm.properties
destino: C:\Arquivos de programas\Java\SEU_JRE\lib
Desenvolvedores colar os arquivos no JRE incluso no JDK
Assinar:
Postagens (Atom)