Casting explícito/implicito

Qual a diferença de casting explicito e implicito??
mais outra duvida
o método de uma classe não pode acessar atributos da instância, ou seja, métodos da classe necessitam utilizar uma referência a um objeto?

desculpem minha ignorancia

imagina isso:

casting explicito, é quando vc converte uma atributo grande, para um pequeno, por exemplo, vc converter um long para um int. Um long é maior do que um int, então vc tem que forçar ele a ser intendido como inteiro (não tenho certeza se da erro ou nao caso não caiba).

casting implicito é quando vc poe um atributo pequeno dentro de um grande, no caso o int dentro do long.

Como o próprio nome já diz, cast explicito é quando é explicito e implicito quando é implicito! =] rss

Veja:

[code]//Cast Implicito (feito automaticamente)
Object obj = new Integer(1);
//O cast de Integer para Object foi feito sem
//nenhum código adicional. Automático por se dizer.

//Cast Explicito (quando a Máquina
//Virtual não sabe o que fazer)
Integer obj2 = (Integer)obj;
//Como um objeto da classe Object pode ser qualquer coisa,
//você deve dixer (explicitar) para a máquina virtual que
//o objeto “obj” é da classe Integer.[/code]

Entendeu?!

Não entendi sua outra dúvida. Explica melhor ai pra nós te ajudarmos!

Também você deve fazer casting explicito no caso de tentar converter um objeto que é da classe pai para um filho. Isso é uma conversão perigosa, pois um pai pode não necessariamente ser um filho. Exemplo:

Animal animal = new Cachorro(); ... if (a instanceof Cachorro) Cachorro c = (Cachorro) animal;

O teste com o instanceof ali em cima ajuda não cometermos um erro caso troquemos o construtor para
Animal a = new Gato();

O casting implícito ocorre quando atribuímos uma subclasse a um tipo da superclasse. Isso é sempre seguro, pois todo objeto da subclasse é um objeto da superclasse (todo cachorro é um animal, todo gato é um animal). Como você pode notar no código acima, a construção new Cachorro() retornou um Cachorro, mas que foi automaticamente atribuído a uma variável do tipo Animal, sem a necessidade de casting.

Em termos de performance. Não há diferença. Casting é algo que só existe para nós, seres humanos. O código com casting é praticamente eliminado na geração dos binários.

tb não tenho certeza se eu intendi sua outra duvida, que tinha sido passada desapercebida antes, vc quer saber se da pra mexer em um atributo de um objeto, pelo metodo “da classe”??

bom, considerando que o metodo é da classe (estatico no caso) e ele tenha acesso ao objeto e ao atributo desse objeto em questão…sim vc consegue acessa-lo sim. bom…ao menos acho q sim…depois eu vo cria algo aki pra testa…

entendi a diferença valeu :]

em relação a outra pergunta é essa mesma a minha duvida maior_abandonado, se é preciso fazer uma referencia a ao objeto?

vlw