Una cláse define la forma y comportamiento de un objeto. Un objeto es una instancia de una cláse. getClass().getName() getClass().getSuperClass() Las variables del objeto definen su estado y se llaman variables miembro. Los métodos determinan el funcionamiento del objeto. Lo que puede hacer. El método finalize() se ejecuta antes de liberar la memoria consumida por el objeto. Para heredar se utiliza extends class miClase extends clasePadre{ } Se pueden implementar varias intefaces class miClase extends miClasePadre implements miInter1, miInter2 { } Las clases públicas se pueden ver de fuera del paquete. Por defecto las clases solo son vistas por clases del mismo paquete public class miClase {} Las clases públicas de otros paquetes se deben importar. abstract: Una clase abstract al menos tiene un método abstracto y no se instancia solo se hereda [acceso] abstract class miAbsClase { public abstract void imprime(); } public interface miInterfaz{ void imprime(); } public interface Constantes { public final double pi=3.1416; public final int iva=16; } Una interfaz puede heredar de varias interfaces public interfase miInterfaz extends miInte1, miInte2{ } No se puede ver una variable de instancia desde un método estático. Métodos contructores, mismo nombre de la clase sin tipo de dato y pueden sobrecargarse con diferentes parámetros. Ejecutar método constructor del padre super([parámetros]) Métodos private solo se ven dentro de la clase. Métodos protected: solo las clases hijas pueden usarlos (shared) Métodos package: Por default tienen este control de acceso dentro del paquete Para sobrescribir un método en la clase hija se debe definir el método con el mismo nombre, mismo tipo y parámetros