Boas pessoal tou a fazer uma class com simplificada de IO com as coisa mas basicas para usar mais directamente
mas tou aqui com 1 prob :S
É o seguinte…
Tenho uma class File dentro dela uma class Read, a partir de uma class Teste crio um novo objecto File fazendo File f = new File(); mas como faço para cria um objecto Read ?? estando ele dentro da class File apenas pode ser criado dentro da class file ?? ou existe uma forma o fazer estando ele lá dentro ?
Depende:
/**
* Evite usar nomes que batam com nomes de classes comuns do Java,
* como File ou String. Você pode ter problemas muito sérios e
* difíceis de consertar. Já que você fala a língua portuguesa,
* use a palavra portuguesa (Ficheiro, em Portugal, ou Arquivo, no Brasil).
*/
public class Ficheiro {
static class Leitura {
}
class Escrita {
}
}
class Teste {
public static void main(String[] args) {
/** Você pode criar uma instância de uma classe interna,
* mas ela deve ser "static", o que nem sempre é o que você quer */
Ficheiro.Leitura fl = new Ficheiro.Leitura();
// Se removermos comentário da próxima linha, obteremos um erro
// "not an enclosing class"
// Ficheiro.Escrita fe = new Ficheiro.Escrita();
}
}
De modo geral, evite usar classes internas, a menos que estritamente necessário.
Mas há algum problea em usar as class internas ??
Problema não há, mas não é muito usual.
Se você olhar as APIs do Java, vai ver que elas são muito pouco usadas (por exemplo, a interface Map.Entry no pacote java.util.)
Eu acho em particular que é melhor usar um “subpacote” (por exemplo, se seu programa está em pt.sapo.aplicativo.* , as classes de IO poderiam ficar em pt.sapo.aplicativo.io.* )
Sim eu tambem ja tinha pensado em algo assim tipo uma class ficherio e depois outras duas read e write, mas depois axo ke perdia uma pouco aquilo que queria fazer que era ter acessoa a tudo de uma só class.