EJEMPLO DE TRES CLASES JUNTAS

NUEVO EJEMPLO
SE MUESTRA COMO SE PUEDEN MANEJAR MULTIPLES CLASES MUY SENCILLAS Y COMO SE CREAN LOS OBJETOS DE CADA UNA Y LA LLAMADA A CADA UNO DE LOS METODOS DE LAS CLASES.
import javax.swing.*;
public class SALUDO
{
    public static void main(String args[])
    {
       mensaje n1=new mensaje();
       n1.bienvenida();
       n1.nombre();
       n1.suma();
       mensaje n2=new mensaje();
       n2.nombre();
       n2.suma();
       mensaje n3=new mensaje();
       n3.todo();
       carro c1=new carro();
       c1.encender();
       c1.izq();
       c1.der();
       c1.frenar();
       c1.apagar();
       carro c2=new carro();
       c2.todo_carro();
       operaciones op=new operaciones();
       op.raiz();
       op.coseno();
    }
}

class mensaje
{
    public void bienvenida()
    {
        System.out.print("HOLA ESTAS EN JAVA");
    }
    public void nombre()
    {
        JOptionPane.showMessageDialog(null,"RODRIGO VILLANUVEA");
    }
    public void suma()
    {
        double a,b,s;
        a=Double.parseDouble(JOptionPane.showInputDialog("DAME EL PRIMER NUMERO: "));
        b=Double.parseDouble(JOptionPane.showInputDialog("DAME EL PRIMER NUMERO: "));
        s=a+b;
        JOptionPane.showMessageDialog(null,"LA SUMA ES: "+s);
    }
    public void todo()
    {
        bienvenida();
        nombre();
        suma();
    }
}//clase mensaje
class carro
{
    public void encender()
    {
        JOptionPane.showMessageDialog(null,"SE ENCIENDE EL MOTOR");
    }
    public void izq()
    {
        JOptionPane.showMessageDialog(null,"EL CARRO GIRA A LA IZQUIERDA");
    }
    public void der()
    {
        JOptionPane.showMessageDialog(null,"EL CARRO GIRA A  LA DERECHA");
    }
    public void frenar()
    {
        JOptionPane.showMessageDialog(null,"EL CARRO SE FRENA DE MANERA VIOLENTA");
    }
    public void todo_carro()
    {
        encender();
        izq();
        der();
        frenar();
        apagar();
    }
    public void apagar()
    {
        JOptionPane.showMessageDialog(null,"APAGANDO EL CARRO");
    }

}//llanta
class operaciones
{
    public void raiz()
    {
        double a,b,s;
        a=Double.parseDouble(JOptionPane.showInputDialog("DAME EL PRIMER NUMERO: "));
        b=Double.parseDouble(JOptionPane.showInputDialog("DAME EL PRIMER NUMERO: "));
        s=Math.sqrt(a+b);
        JOptionPane.showMessageDialog(null," LA RAIZ DE LOS DATOS SUMADOS ES: "+s);
    }
    public void coseno()
    {
        double a,b,s;
        a=Double.parseDouble(JOptionPane.showInputDialog("DAME EL PRIMER NUMERO: "));
        b=Double.parseDouble(JOptionPane.showInputDialog("DAME EL PRIMER NUMERO: "));
        s=Math.cos( Math.sqrt(a+b)-Math.sin(a*b)*Math.tan(a*b+56) );
        JOptionPane.showMessageDialog(null," EL COSENO DE LOS DATOS SUMADOS ES: "+s);
    }
}//operaciones


CREACIÓN DE N APPLET SENCILLO

NUEVO EJEMPLO
import javax.swing.*;
import java.applet.Applet;
import java.awt.*;
public class APPLET_SENCILLO extends Applet//se hereda de la clase Applet
{
    public void paint(Graphics g)
    {
        g.drawString("HOLA DESDE JAVA", 50, 50);
    }
}

EVITAR MODIFICAR VARIABLES FUNCION -FINAL-

NUEVO EJEMPLO
import javax.swing.*;
public class EVITAR_HERENCIA_VARIABLES {
    public static void main(String args[])
    {
        final int a=10;
        a=20;// no se puede cambiar por ser final
        System.out.print("EL VALOR DE A: "+a);
    }
}
CORRE DE LA SIGUIENTE MANERA
import javax.swing.*;
public class EVITAR_HERENCIA_VARIABLES {
    public static void main(String args[])
    {
        final int a=10;
       
        System.out.print("EL VALOR DE A: "+a);
    }
}

EVITAR HERENCIA FUNCION FINAL

NUEVO EJEMPLO
LA MANERA DE BLOQUEAR ES LA SIGUIENTE
import javax.swing.*;
public class EVITAR_HERENCIA_FINAL
{
    public static void main(String args[])
    {
    datos n=new datos();
    n.mensaje();
    n.mostrar();//NO SE PUEDE
    }
}
final class saludo //si le quitamos ahora si se puede
{
    public void mensaje()
    {
        JOptionPane.showMessageDialog(null,"HOLA DESDE JAVA");
    }
}
class datos extends saludo // NO PUEDE HEREDAR POR QUE ES FINAL
{
    public void mostrar()
    {
        JOptionPane.showMessageDialog(null,"RODRIGO VILLANUEVA");
    }
}

PARA PODER SE CAMBIA

import javax.swing.*;
public class EVITAR_HERENCIA_FINAL
{
    public static void main(String args[])
    {
    datos n=new datos();
    n.mensaje();
    n.mostrar();//SI SE PUEDE
    }
}
 class saludo //si le quitamos ahora si se puede YA NO TIENE FINAL{
    public void mensaje()
    {
        JOptionPane.showMessageDialog(null,"HOLA DESDE JAVA");
    }
}
class datos extends saludo // NO PUEDE HEREDAR POR QUE ES FINAL
{
    public void mostrar()
    {
        JOptionPane.showMessageDialog(null,"RODRIGO VILLANUEVA");
    }
}


COMO EVITAR SOBRESCRIBIR UN METODO CON LA FUNCION "FINAL"

NUEVO EJEMPLO
import javax.swing.*;
public class COMO_EVITAR_SOBRESCRITURA_METODOS
{
    public static void main(String args[])
    {
        animal n=new animal();
        pez p=new pez();
        n.mensaje();
        p.mensaje();//ERROR POR QUE EL METODO ERA FINAL
    }
}
class animal
{
    final void mensaje()//no se puede modificar el metodo
    {
        JOptionPane.showMessageDialog(null, "ESTE ANIMAL ES UN PERRO");
    }
}
class pez extends animal
{
    public void mensaje()//no se puede por ser el metodo tipo final
    {
        JOptionPane.showMessageDialog(null,"ESTO E SUN PEZ");
    }
}




LA MANERA QUE SE PUEDE SOBRESCRIBIR


import javax.swing.*;
public class COMO_EVITAR_SOBRESCRITURA_METODOS
{
    public static void main(String args[])
    {
        animal n=new animal();
        pez p=new pez();
        n.mensaje();
        p.mensaje();//ERROR POR QUE EL METODO ERA FINAL
    }
}
class animal
{
    public void mensaje()//no se puede modificar el metodo
    {
        JOptionPane.showMessageDialog(null, "ESTE ANIMAL ES UN PERRO");
    }
}
class pez extends animal
{
    public void mensaje()//no se puede por ser el metodo tipo final
    {
        JOptionPane.showMessageDialog(null,"ESTO E SUN PEZ");
    }
}


SOBRESCRITURA DE METODO SUMAR

NUEVO EJEMPLO
import javax.swing.*;
public class SOBRESCRIBIR_METODO_2
{
    public static void main(String args[])
    {
        suma n=new suma();//objeto suma
        JOptionPane.showMessageDialog(null,"LA SUMA 10 + 20 ES: "+n.sumar(10, 20));
        suma_dos n2=new suma_dos();//objeto suma_dos
        JOptionPane.showMessageDialog(null,"LA OPERACION DE 10 Y 20 ES: "+n2.sumar(10, 20));
       
    }
}
class suma
{
    public double sumar(double a,double b)
    {
        return a+b;
    }
}
class suma_dos extends suma//hereda de suma
{
    public double sumar(double a,double b)
    {
        return (a*2)+(b*2);
    }
}
//MANEJAMOS EL MISMO METODO SUMAR PERO MODIFICADO

SOBRESCRITURA DE METODO

NUEVO EJEMPLO
PODEMOS HEREDAR Y EL METODO PUEDE SER MODIFICADO DE ACUERDO A NUESTRA NECESIDAD. EL METODO MOSTRAR SE MODIFICA DEPENDIENDO LA CLASE.
import javax.swing.*;
public class SOBRESCRITURA_DE_METODOS {
    public static void main(String args[])
    {
        saludo nuevo=new saludo();//se toma la clase saludo
        nuevo.mostrar();
        JOptionPane.showMessageDialog(null, "CLASE_MENSAJE");
        mensaje nuevo2=new mensaje();//clase mensaje
        nuevo2.mostrar();

    }
}
class saludo
{
    public void mostrar()
    {
        JOptionPane.showMessageDialog(null,"HOLA DESDE JAVA");
    }
}
class mensaje extends saludo//hereda de saludo
{
    public void mostrar()
    {
        JOptionPane.showMessageDialog(null,"CAMBIA EL MENSAJE DEL METODO MOSTRAR");
    }
}

HERENCIA MULTINIVELES DE CLASES

NUEVO EJEMPLO
import javax.swing.*;
public class HERENCIA_MULTINIVEL {
    public static void main(String args[])
    {
        avion n=new avion();//creamos la clase AVION HEREDA TODO
        n.encender();
        n.der();
        n.izq();
        n.parar();
    }
}
class auto
{
    public void encender()
    {
        JOptionPane.showMessageDialog(null,"SE ENCIENDE EL MOTOR");
    }
}
class moto extends auto //hereda de la clase auto
{
    public void der()
    {
        JOptionPane.showMessageDialog(null,"DERECHA");
    }
    public void izq()
    {
        JOptionPane.showMessageDialog(null,"IZQUIERDA");
    }
}
class avion extends moto//hereda de la clase moto
{
    public void parar()
    {
        JOptionPane.showMessageDialog(null,"DETENER EL VEHICULO");
    }
}


HERENCIA COCHE PARTE DOS CON MÁS METODOS

NUEVO EJEMPLO
import javax.swing.*;
public class HERENCIA_SIMPLE
{
    public static void main(String args[])
        {
        coche n=new coche();//se crea un objeto coche que hereda lo de vehiculo
        n.start();//clase vehiculo
        n.manejar();//clase coche
        n.acelerar();
        n.mover_iz();
        n.mover_de();
        n.frenar();
        }
}
class vehiculo
{
    public void start()
    {
        System.out.print("ARRANCA EL COCHE\n");
    }
    public void mover_iz()
    {
        System.out.print("EL AUTO SE MUEVE A  LA IZQUIERDA \n");
    }
    public void mover_de()
    {
        System.out.print("EL AUTO SE MUEVE A  LA DERECHA\n");
    }
}
class coche extends vehiculo //LA CLASE COCHE HEREDA TODO DE VEHICULO
{
    public void manejar()
    {
        System.out.print("EL COCHE SE ESTA MANEJANDO\n");
    }
    public void frenar()
    {
        System.out.print("EL AUTO SE PARA\n");
    }
    public void acelerar()
    {
        System.out.print("EL AUTO ACELERA \n");
    }
}

HERENCIA SIMPLE_EJEMPLO COCHE

NUEVO EJEMPLO
import javax.swing.*;
public class HERENCIA_SIMPLE
{
    public static void main(String args[])
        {
        coche n=new coche();//se crea un objeto coche que hereda lo de vehiculo
        n.start();//clase vehiculo
        n.manejar();//clase coche
        }
}
class vehiculo
{
    public void start()
    {
        System.out.print("ARRANCA EL COCHE\n");
    }
}
class coche extends vehiculo //LA CLASE COCHE HEREDA TODO DE VEHICULO
{
    public void manejar()
    {
        System.out.print("EL COCHE SE ESTA MANEJANDO");
    }
}