Class static

8 respostas
edymrex

Qual é o objetivo de uma classe ser static …?
Atributos faz sentido pois o atributo pertence a classe é não a instância,
mas uma classe não vejo lógica alguém sabe o porque ?
um exemplo de uma classe estática é a classe STRING do pacote javax.print.DocFlavor vejam :

public static class STRING extends DocFlavor {

	private static final long serialVersionUID = 4414407504887034035L;
	
    	/**
    	 * Constructs a new doc flavor with the given MIME type and a print  
    	 * data representation class name of <CODE>"java.lang.String"</CODE>.
    	 *
    	 * @param  mimeType  MIME media type string. If it is a text media
    	 *                      type, it is assumed to contain a
    	 *                      <CODE>"charset=utf-16"</CODE> parameter.
    	 *
    	 * @exception  NullPointerException
    	 *     (unchecked exception) Thrown if <CODE>mimeType</CODE> is null. 
    	 * @exception  IllegalArgumentException
    	 *     (unchecked exception) Thrown if <CODE>mimeType</CODE> does not 
    	 *     obey the syntax for a MIME media type string. 
    	 */
    	public STRING (String mimeType) {
	    super (mimeType, "java.lang.String"); .....

Alguém sabe ?

8 Respostas

GustavoLaguna

achei que static não poderia ser usado em classes…

edymrex

Também achava depois de ver essa classe.

xandevieira

Veja se isto ajuda.

http://www.guj.com.br/posts/list/1076.java

GustavoLaguna

Não vi exemplo de classe static la não… alguém viu?

edymrex

Não ajuda pois neste artigo não fala sobre classe estática.

T

Uma classe “static” somente pode ser definida dentro de outra classe.
A diferença entre uma “inner class” normal e uma classe “static” é que esta, além de ser interna, não tem acesso ao “this” da classe que a contém.
Nesse ponto, é como se fosse uma classe normal (podendo ter construtores publicos, etc.). definida dentro de outra classe.
Referência (embora o jargão seja um pouco difícil de entender: )
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#246026

GustavoLaguna

Achei…

edymrex

p/thingol

Cara li o artigo e verifiquei que a inner class funciona como um variável da sua classe top-level,
por isso ele pode ser static mais não e estranho ter uma classe estática dentro de uma classe normal ?
se instânciarmos nossa classe top level será que as inner class perdem os valores ?

Criado 25 de abril de 2008
Ultima resposta 25 de abr. de 2008
Respostas 8
Participantes 4