Duvida Extends

E ai pessoal, tudo bom?
Estou com uma duvida…qual a diferença de eu implementar meu código entre essas duas formas:

import java.awt.*;
import javax.swing.*;

public class CalculaValores {	
	JFrame frame = new JFrame();
	CalculaValores(){
		
	}
	public static void main(String[] args){
		new CalculaValores();
	}
}

agora usando o Extends

import java.awt.*;
import javax.swing.*;

public class CalculaValores extends JFrame{	
	CalculaValores(){
		
	}
	public static void main(String[] args){
		new CalculaValores();
	}
}

quando vc usa extends, CalculaValores vai possuir todos os métodos e atributos da classe JFrame podendo vc acessá-los dentro dessa classe…
fazendo JFrame frame = new JFrame(); vc está criando um atributo dentro da classe CalculaValores e pra acessar os métodos e atributos dentro desse objeto frame vc terá que fazer da seguinte forma frame.<metodo ou atributo>

quando vc usa extends vc esta dizendo que CalculaValores É UM JFrame e da outra forma vc está dizendo que ela TEM UM objeto do tipo JFrame

vlw… estude orientação a objetos… =D

[quote=Marchiore]E ai pessoal, tudo bom?
Estou com uma duvida…qual a diferença de eu implementar meu código entre essas duas formas:

import java.awt.*;
import javax.swing.*;

public class CalculaValores {	
	JFrame frame = new JFrame();
	CalculaValores(){
		
	}
	public static void main(String[] args){
		new CalculaValores();
	}
}

agora usando o Extends

[code]
import java.awt.;
import javax.swing.
;

public class CalculaValores extends JFrame{
CalculaValores(){

}
public static void main(String[] args){
	new CalculaValores();
}

}
[/code][/quote]

no primeiro caso vc cria uma instancia de JFrame etc…
No segundo caso vc cria uma classe que estend a JFrame.
A vantagem do segundo exemplo, é a herança e pq utilizamos herança?
Em alguns casos precisamos criar algo mais proximo de nossas necessitade, porém este algo novo ainda precisa ser o antigo(SuperClasse) e deve ter caracteristicas novas(SubClasse).
Compreende?

Fica ao seu critério analisar se sua classe é um JFrame ou se ela tem um JFrame.

entendi pessoal…obrigado pelas respostas…vou estudar um pouco mais de OO