Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.

Archivo del blog

lunes, 26 de marzo de 2012

Devolver arrays desde métodos.

Código Java:

//Devolver arrays desde métodos.
package pasomatrizes;

public class PasoMatrizes {

   public static class ArrayFactory {
      public int[] getNewArray() {
         int array[] = {1, 2, 3, 4, 5};
         return array;
      }
   }

   public static void main(String[] args) {
      ArrayFactory af = new ArrayFactory();
      int array[] = af.getNewArray();
      for (int i = 0; i < array.length; i++) {
         System.out.println("Array[" + i + "] = " + array[i]);
      }
   }

}

Resultado:

run:
Array[0] = 1
Array[1] = 2
Array[2] = 3
Array[3] = 4
Array[4] = 5
BUILD SUCCESSFUL (total time: 0 seconds)






Devolver objetos desde métodos.

Código Java:

//Devolver objetos desde métodos.
package pasoobjeto;

class ObjectFactory {
   public CreatedClass getNewObject() {
      return new CreatedClass();
   }
}

class CreatedClass {
   public String tag = "Esta es la etiqueta de datos";
}

public class PasoObjeto {
   public static void main(String[] args) {
      ObjectFactory of = new ObjectFactory();
      CreatedClass cc = of.getNewObject();
      System.out.println(cc.tag);
   }
}



Resultado:

run:
Esta es la etiqueta de datos
BUILD SUCCESSFUL (total time: 0 seconds)



Uso de la palabra clave this.

Codigo:

//Usar la palabra clave this.
package javaapplication60;

class Data{
private String data_string;
Data (String s){
data_string = s;
}

public String getData(){
return data_string;
}

public void printData(){
printer p = new printer();
p.print(this);
}
}

class printer{
void print(Data d){
System.out.println(d.getData());
}
}

public class JavaApplication60 {
public static void main(String[] args){
(new Data("Hola")).printData();
}
}


Resultado:

run:
Hola
BUILD SUCCESSFUL (total time: 0 seconds)
·

viernes, 23 de marzo de 2012

Interfaces para herencia múltiple (estructura básica).

Codigo:

//Interfaces para herencia múltiple (estructura básica).

//Uso de las claves: interface e implement.

package main;

interface b{
//codigo
}

interface c{
//codigo
}

class a implements b, c {
//codigo
}

public class Main {
public static void main(String[] args) {
a obj = new a();
}
}

·

Clase interna anónima.

Código Java (ClaseInternaAnonima.java):

package claseinternaanonima;

class a {
    a() {
        (new b() {
            public void print() {
                System.out.println("Hola");
            }
        }).print();
    }
}

class b {}

public class ClaseInternaAnonima {
    public static void main(String[] args) {
        a obj = new a();
    }
}


Resultado:

run:
Hola
BUILD SUCCESSFUL (total time: 0 seconds)

Determinar la clase de un objeto: getClass.

Codigo:

//Determinar la clase de un objeto: getClass.
package clasedelobjeto;

class a{
public void print(){
System.out.println("Aqui esta a...");
}
}

class b extends a{
public void print(){
System.out.println("Aqui esta b...");
}
}

class c extends a{
public void print(){
System.out.println("Aqui esta c...");
}
}

public class ClaseDelObjeto {
public static void main(String[] args) {

a primera = new a(); //objeto de la clase base a
b segunda = new b(); //objeto de la subclase b
c tercera = new c(); //objeto de la subclase c

a ref_a;

ref_a = primera;
System.out.println("La clase ref_a es: "+ref_a.getClass());

ref_a.print();

ref_a = segunda;
System.out.println("La clase ref_a es: "+ref_a.getClass());

ref_a.print();

ref_a = tercera;
System.out.println("La clase ref_a es: "+ref_a.getClass());

ref_a.print();

}
}


Resultado:

run:
La clase ref_a es: class clasedelobjeto.a
Aqui esta a...
La clase ref_a es: class clasedelobjeto.b
Aqui esta b...
La clase ref_a es: class clasedelobjeto.c
Aqui esta c...
BUILD SUCCESSFUL (total time: 1 second)
·

Crear una clase abstracta: abstract.

Codigo:

package claseabstracta;

abstract class a{
abstract String getData();
public void print(){
System.out.println(getData());
}
}

class b extends a{
String getData(){
return "Hola";
}
}

public class JavaApplication69 {
public static void main(String[] args) {
b b1 = new b();
b1.print();
}
}


Resultado:

run:
Hola

BUILD SUCCESSFUL (total time: 0 seconds)
·

Acceso a los miembros sobreescritos: uso de super.

Codigo:

//Acceso a los miembros sobreescritos
package usarsuper;


class animal{
public void breathe(){
System.out.println("Respirar");
}
}

class pez extends animal{
public void breathe(){
System.out.println("Burbujear");
}
public void newbreathe(){
breathe(); //coge el breathe de la subclase "pez"
super.breathe(); //coge el breathe de la clase base "animal"
}
}

public class JavaApplication68 {
public static void main(String[] args) {
System.out.println("Crear un animal...");
animal a = new animal();
a.breathe();
System.out.println("Crear pez...");
pez p = new pez();
p.newbreathe();
}
}


Resultado:

run:
Crear un animal...
Respirar
Crear pez...
Burbujear
Respirar
BUILD SUCCESSFUL (total time: 0 seconds)
·

Cálculo letra del DNI.

Codigo:

package dni1;
import java.util.Scanner;

public class Dni1 {
public static void main(String[] args) {
String letras = "TRWAGMYFPDXBNJZSQVHLCKE";
System.out.println("Introduce DNI sin letra: ");
Scanner leer = new Scanner(System.in);
int dni = Integer.parseInt(leer.next());
int index = dni - (Math.abs(dni/23)*23);
System.out.println("Su letra de DNI es: "+ letras.charAt(index));
}
}

Resultado:

run:
Introduce DNI sin letra:
12345678
Su letra de DNI es: Z
BUILD SUCCESSFUL (total time: 4 seconds)
·
Con la tecnología de Blogger.