Herança. Extends faz com que sua clase herde a outra.
Estude sobre isso. Para trabalhar com Orientação a Objetos, isso é fundamental.
Você estudou sobre isso? Os materiais que leu explicaram o conceito? Se sim, o que entendeu? Porque esse é um dos conceitos mais básicos de Java,e quase todo material básico decente cobre isso.
De toda forma, extends é a palavra chave que indica que uma classe estende outra, ou seja, é uma derivação dela.
Se A extends B, então A é uma derivação/classe filha/tipo de/herda de A. No sentido contrário, B é a classe base/ classe pai/ de A.
Estude o conceito de herança e verá por que esse tipo de relação existe, e como ela é útil dentro do contextos de OO.
Abraço.
Quero entender apenas um ponto:
nesse exemplo, a herança(extends) herda da biblioteca swing.JFrame, se não, de onde herda?
Sim, a classe Testapanel herda da classe JFrame, que está no pacote javax.swing, no arquivo JFrame.java.
Abraço.
Não se herda de biblioteca, se herda de classes. Então, ele está herdando da classe JFrame que está dentro da sua biblioteca javax.swing.JFrame.
Já aproveitando a linha de pensamento, nessa caso, qual seria a diferença entre herança e polimorfismo?
Polimorfismo seria a reutilização total e herança uma reutilização parcial? talvez eu esteja viajando, mas é porque ainda estou iniciando.
Cara, você precisa estudar isso antes de perguntar. São conceitos “interligados”, mas diferentes. Logo, é como se eu tivesse te dizendo “qual a diferença entre um carro e um prédio?”.
Mas você vai entender isso aqui quando tiver estudado:
A herança permite que você acesse e use os atributos e métodos da superclasse, enquanto o polimorfismo permite que você use uma referência mais genérica para um objeto abstrato ou não. Ambos pregam a ideia de “reutilização de código”.
Na instanciação padrão, se usa:
Objeto umObjetoQqlr = new Objeto();
Quando você ver:
OutroObjeto outroObjetoQualquer = new Objeto();
É uma noção de polimorfismo.
Estude OO!
Herança seria uma das formas que Java utiliza para implementar o polimorfismo.