Interface é filha de Object tb?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
andredecotia
JWizard
[Avatar]

Membro desde: 19/10/2009 14:37:32
Mensagens: 2267
Localização: São Paulo
Offline

Interface é filha de Object tb?

--
André AS


Analista Programador Java Web freelancer / home office
Linkedin: http://www.linkedin.com/profile/view?id=41470291&trk=tab_pro

[Email] [MSN] [ICQ]
jakefrog
GUJ Expert
[Avatar]

Membro desde: 22/01/2007 22:00:53
Mensagens: 4181
Offline

Pq vc não faz um teste?

Cria uma interface:Depois cria uma classe que contenha um públic void main e a interface:
Veja que ela não está instanciada em ainda.
Interface é um "contrato" que um uma classe (Object) deve seguir.

Meu blog sobre java uaiHebert.com
Conceitos OO - Diga, não pergunte!, Lei de Demeter
TDD Primeiros Passos, JUnit com HSQLDB, JPA e Hibernate, Cobertura de testes com JUnit Ant e Emma, Cobrindo seus testes com Cobertura, JUnit, HSQLDB, JPA
Código Limpo: Partes: 01,02,03,04,05
Web/JSF - Criando um WebServer, Tratando Exceções, Autenticação de Usuários (Filter/Servlet), JSF - Hello World, AutoComplete, JSF: Converter e Bean Auto Complete, Validação de Login de Usuário com JSF e JAAS, JSF Exibindo Objeto e Mensagens após Redirect, JSF Exemplos Simples com Ajax, JSF Parametros por Get Request RESTFullAplicação Web Completa JSF EJB JPA JAAS, Lazy JSF Datatable Pagination (Primefaces)
Design Pattern - Strategy, Design Pattern - Observer (Parte 01), Design Pattern - Observer (Parte 02)
Business (JPA)- Hibernate 3 com JPA 2, Create schema script: Ant, Hibernate 3 e JPA 2, TableGenerator Chave Primária Simples, SequenceGenerator,Chave Primária Composta, Mapeando Datas (Date) e Enum, Mapeando Duas Tabelas em uma Classe, @OneToOne Unidirecional e Bidirecional, @OneToMany e @ManyToOne Unidirecional e Bidirecional, @ManyToMany Unidirecional e Bidirecional, Ordernando listas e utilizando Map como atributo mapeado,Uma tabela por herança, JPA Uma Classe por Sub-Classe, JPA Consultas e Dicas, [HOT]Quatro soluções para LazyInitializationException[HOT]

SCJP(1.6 - Ingles - 29/12/2009)
SCWCD(1.5 - Ingles - 30/06/2010)

Vamos em frente que atrás vem gente!
gervas-IO
JavaChild

Membro desde: 09/01/2007 17:12:43
Mensagens: 115
Localização: São Paulo
Offline

No contexto acima:


É a mesma coisa que:


É isso que o instanceof está verificando...

Lembre-se disso meu jovem:
"Interfaces só herdam de Interfaces"

Abs.

This message was edited 1 time. Last update was at 31/08/2010 09:50:55

[WWW] [Yahoo!] aim icon [MSN] [ICQ]
Marck
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline

Olá!

Eu entendo que o objeto possui uma interface. Quando esta interface é implementada, ai sim ela É-UM objeto.
Perceba que não faz muito sentido usar os termos "filha" ou "filho". Um Carro É-UM Automovel faz mais sentido do que dizer que Um Carro é Filho de Automovel. O termo "filho" é mais usado em banco de dados onde temos tabelas filhas.

Para ilustrar o que penso, fiz o seguinte teste:



abraço

"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre

Besteiras sobre programação

http://toobject.wordpress.com/
DataModelDinamic
[Email] [WWW] [MSN]
Leonardo3001
GUJ Ranger

Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline

Marck wrote:Olá!

Eu entendo que o objeto possui uma interface. Quando esta interface é implementada, ai sim ela É-UM objeto.
Perceba que não faz muito sentido usar os termos "filha" ou "filho". Um Carro É-UM Automovel faz mais sentido do que dizer que Um Carro é Filho de Automovel. O termo "filho" é mais usado em banco de dados onde temos tabelas filhas.

Para ilustrar o que penso, fiz o seguinte teste:



abraço



O teste não faz sentido. Você está testando se uma classe anônima, que implementa Inteface, é instância de Object. Claro que sim. Porém, isso não responde a pergunta do tópico: a de que Interface é filha de Object.

This message was edited 1 time. Last update was at 31/08/2010 12:08:23


Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
Marck
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline

Leonardo3001 wrote:
Marck wrote:

O teste não faz sentido. Você está testando se uma classe anônima, que implementa Inteface, é instância de Object. Claro que sim. Porém, isso não responde a pergunta do tópico: a de que Interface é filha de Object.


Como eu disse, eu entendo que o Objeto possui uma interface, ou seja, a Interface não é um objeto até ela ser implementada! Até por que, para ser objeto, tem que herdar de Object, e Interfaces só podem herdar de outra Interface.

Ou estou errado?

"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre

Besteiras sobre programação

http://toobject.wordpress.com/
DataModelDinamic
[Email] [WWW] [MSN]
Leonardo3001
GUJ Ranger

Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline

Marck wrote:Como eu disse, eu entendo que o Objeto possui uma interface, ou seja, a Interface não é um objeto até ela ser implementada! Até por que, para ser objeto, tem que herdar de Object, e Interfaces só podem herdar de outra Interface.

Ou estou errado?


Você confunde implementação com instância. Interface é implementada, mas nunca instanciada; então, uma interface não pode se tornar um objeto, no máximo, posso usá-la como uma referência para um objeto.

Interfaces podem herdar de outra interface, ou pode não herdar de ninguém. Só não podem herdar de classes.

Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
marcelo.bellissimo
Virtual Machine Man

Membro desde: 17/10/2006 14:17:21
Mensagens: 617
Offline

Esse tipo de conceito confunde mesmo... pra tentar exemplificar, imagine um carro, uma moto, um caminhão... todos eles são (implementam) o quê? Veículos... eles "implementam" a interface Veiculo...

E um veículo nunca é um "objeto" própriamente dito, é algo abstrato, são "regras" que definem qual o "tipo" que o objeto é... você consegue ir numa concessionária e pedir: "quero comprar um veículo, por favor" ?

Você tem que "instanciar" a sua escolha... um veículo? Ok, mas é uma moto, um caminhão, um carro... o quê você quer?

Ou seja, uma interface nunca será um Object, não há instancias de interfaces, apenas dos objetos que as implementam...
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

pensando na semantica, toda classe, interface e classe abstrata pode ser sim atribuida a Object, tanto que voce pode fazer Object o = qualquerReferencia;

a discussao que o pessoal esta fazendo é como essa frase deve ser formulada. dizer que é "filha" talvez seja um pouco demais.

mas seu raciocinio esta certo.

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
zoren
GUJ Master
[Avatar]

Membro desde: 30/06/2008 08:32:33
Mensagens: 1007
Offline

Você pode fazer um teste com o java

Crie uma classe e uma interface, coloque as duas numa pasta, pela linha de comando, vc compila elas e usa o comando javap em cada uma

Obs: sem o .class

Com isso a resposta aparece
[Email] [MSN]
wellington.nogueira
GUJ Ranger
[Avatar]

Membro desde: 11/08/2006 11:29:56
Mensagens: 914
Localização: Osasco-SP
Offline

Interfaces e classes são "contratos" porém apenas classes herdam a classe Object.

Marck wrote:Eu entendo que o objeto possui uma interface. Quando esta interface é implementada, ai sim ela É-UM objeto.
Perceba que não faz muito sentido usar os termos "filha" ou "filho". Um Carro É-UM Automovel faz mais sentido do que dizer que Um Carro é Filho de Automovel. O termo "filho" é mais usado em banco de dados onde temos tabelas filhas.

Quando uma interface é implementada, você TÊM uma classe que segue o contrato da interface e, ao instanciá-la, aí sim, terá um objeto.
Não é só por ter implementado a interface que vc possui um objeto. Se o mesmo não for instanciado (através do operador new), o mesmo continuará sendo apenas uma classe.

Exemplo:

Carro É-UM Object, Veiculo e AutoMotor
Carroca É-UM Object e Veiculo

Entretanto,

Carro É-UM Object, Veiculo e AutoMotor E POSSUI um Motor.
Neste último exemplo, os objetos Carro e Motor só existirão quando

57 45 4C 4C 49 4E 47 54 4F 4E
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
"Se você acha que programar em Java com Swing é simples? Acredite em mim, não é!"
http://developmentforever.wordpress.com/
Marck
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline

Leonardo3001 wrote:
Marck wrote:Como eu disse, eu entendo que o Objeto possui uma interface, ou seja, a Interface não é um objeto até ela ser implementada! Até por que, para ser objeto, tem que herdar de Object, e Interfaces só podem herdar de outra Interface.

Ou estou errado?


Você confunde implementação com instância. Interface é implementada, mas nunca instanciada; então, uma interface não pode se tornar um objeto, no máximo, posso usá-la como uma referência para um objeto.

Interfaces podem herdar de outra interface, ou pode não herdar de ninguém. Só não podem herdar de classes.


Não cara. Não confundo. Acho que você não entendeu o que eu disse. Mas acho que a dúvida já foi respondida!


"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre

Besteiras sobre programação

http://toobject.wordpress.com/
DataModelDinamic
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team