¿Por qué no imprime nada?
    
		    Alguien podria explicarme por que el siguiente programa no imprime nada, ni siquiera la palabra "Contrato:"
Saludos, Carlos.
package Practica2;
import java.util.Calendar;
//Creamos la clase Cliente
class Cliente {
private String dni;
private String nombre;
private String apellido;
private String direccion;
private int telefono;
//Ahora Creamos el constructor del Cliente
Cliente(String dni, String nombre, String apellido, String direccion, int telefono) {
this.dni = dni;
this.nombre = nombre;
this.apellido = apellido;
this.direccion = direccion;
this.telefono = telefono;
} //Fin del constructor Cliente
} // Fin de la clase Cliente
// Creamos la Clase generica Vehiculo
class Vehiculo {
protected String matricula; String modelo; int año; int kilometraje; double costeDia;
//Constructor del vehiculo:
Vehiculo(String matricula, String modelo, int año, int kilometraje, double costeDia)
{
this.matricula = matricula;
this.modelo = modelo;
this.año = año;
this.kilometraje = kilometraje;
this.costeDia = costeDia;
}
}
//Creamos la clase coche
class Coche extends Vehiculo {
protected int puertas;
protected boolean aireAcondicionado;
//Creamos el constructor de Coche
Coche(String matricula, String modelo, int año, int kilometraje,
double costeDia, int puertas,
boolean aireAcondicionado) {
super(matricula, modelo, año, kilometraje, costeDia);
this.puertas = puertas;
this.aireAcondicionado = aireAcondicionado;
} //Fin constructor coche
} // Fin de la clase Coche
//Creamos la clase Moto
class Moto extends Vehiculo {
protected int cilindrada;
protected boolean sidecar;
//Ahora creamos el constructor de moto
Moto(String matricula, String modelo, int año, int kilometraje, double costeDia,
int cilindrada, boolean sidecar){
super(matricula, modelo, año, kilometraje, costeDia);
this.cilindrada = cilindrada;
this.sidecar = sidecar;
}//Fin constructor Moto
}//Fin clase Moto
//Ahora creamos la clase camion
class Camion extends Vehiculo {
protected int puertas;
protected int nEjes;
protected double carga;
protected boolean aireAcondicionado;
Camion(String matricula, String modelo, int año, int kilometraje,
double costeDia, int puertas, int nEjes,double carga,
boolean aireAcondicionado){
super(matricula, modelo, año, kilometraje, costeDia);
this.puertas=puertas;
this.nEjes=nEjes;
this.carga=carga;
}
}
//Creamos la clase Contrato
class Contrato {
protected Cliente datosCliente; //Incluye cliente
protected Vehiculo datosVehiculo; // Incluye vehiculo
protected String fechaAlta;
protected String fechaBaja;
protected int diasAlquiler;
protected double costeTotal;
//Creamos el contructor del contrato
Contrato(Cliente datosCliente,Vehiculo datosVehiculo, String fechaAlta,
String fechaBaja, int diasAlquiler, double costeTotal) {
this.fechaAlta = fechaAlta;
this.fechaBaja = fechaBaja;
this.diasAlquiler = diasAlquiler;
this.costeTotal = costeTotal;
this.datosCliente = datosCliente ; //Nuevo objeto
this.datosVehiculo = datosVehiculo; // Nuevo objeto
}// Fin constructor contrato
}
//Fin clase contrato
//Creamos la clase principal
class ClasePrincipal {
public static void main(String[] args) {
Cliente cliente1 = new Cliente("9876543", "Alfonso", "Nieto", "Los Laureles, 10", 222222222);
//Creado cliente1
Moto moto1 = new Moto("1543NUF", "Honda CBR", 2003, 14500, 40, 600,false);
Contrato contrato1 = new Contrato( cliente1, moto1, "15/12/2004","29/11/2004", 10,180);
// Ahora sacamos por pantalla el contrato
System.out.println("Contrato: "+ contrato1);
} // Fin main()
} // Fin ClasePrincipal
	    
    Saludos, Carlos.
package Practica2;
import java.util.Calendar;
//Creamos la clase Cliente
class Cliente {
private String dni;
private String nombre;
private String apellido;
private String direccion;
private int telefono;
//Ahora Creamos el constructor del Cliente
Cliente(String dni, String nombre, String apellido, String direccion, int telefono) {
this.dni = dni;
this.nombre = nombre;
this.apellido = apellido;
this.direccion = direccion;
this.telefono = telefono;
} //Fin del constructor Cliente
} // Fin de la clase Cliente
// Creamos la Clase generica Vehiculo
class Vehiculo {
protected String matricula; String modelo; int año; int kilometraje; double costeDia;
//Constructor del vehiculo:
Vehiculo(String matricula, String modelo, int año, int kilometraje, double costeDia)
{
this.matricula = matricula;
this.modelo = modelo;
this.año = año;
this.kilometraje = kilometraje;
this.costeDia = costeDia;
}
}
//Creamos la clase coche
class Coche extends Vehiculo {
protected int puertas;
protected boolean aireAcondicionado;
//Creamos el constructor de Coche
Coche(String matricula, String modelo, int año, int kilometraje,
double costeDia, int puertas,
boolean aireAcondicionado) {
super(matricula, modelo, año, kilometraje, costeDia);
this.puertas = puertas;
this.aireAcondicionado = aireAcondicionado;
} //Fin constructor coche
} // Fin de la clase Coche
//Creamos la clase Moto
class Moto extends Vehiculo {
protected int cilindrada;
protected boolean sidecar;
//Ahora creamos el constructor de moto
Moto(String matricula, String modelo, int año, int kilometraje, double costeDia,
int cilindrada, boolean sidecar){
super(matricula, modelo, año, kilometraje, costeDia);
this.cilindrada = cilindrada;
this.sidecar = sidecar;
}//Fin constructor Moto
}//Fin clase Moto
//Ahora creamos la clase camion
class Camion extends Vehiculo {
protected int puertas;
protected int nEjes;
protected double carga;
protected boolean aireAcondicionado;
Camion(String matricula, String modelo, int año, int kilometraje,
double costeDia, int puertas, int nEjes,double carga,
boolean aireAcondicionado){
super(matricula, modelo, año, kilometraje, costeDia);
this.puertas=puertas;
this.nEjes=nEjes;
this.carga=carga;
}
}
//Creamos la clase Contrato
class Contrato {
protected Cliente datosCliente; //Incluye cliente
protected Vehiculo datosVehiculo; // Incluye vehiculo
protected String fechaAlta;
protected String fechaBaja;
protected int diasAlquiler;
protected double costeTotal;
//Creamos el contructor del contrato
Contrato(Cliente datosCliente,Vehiculo datosVehiculo, String fechaAlta,
String fechaBaja, int diasAlquiler, double costeTotal) {
this.fechaAlta = fechaAlta;
this.fechaBaja = fechaBaja;
this.diasAlquiler = diasAlquiler;
this.costeTotal = costeTotal;
this.datosCliente = datosCliente ; //Nuevo objeto
this.datosVehiculo = datosVehiculo; // Nuevo objeto
}// Fin constructor contrato
}
//Fin clase contrato
//Creamos la clase principal
class ClasePrincipal {
public static void main(String[] args) {
Cliente cliente1 = new Cliente("9876543", "Alfonso", "Nieto", "Los Laureles, 10", 222222222);
//Creado cliente1
Moto moto1 = new Moto("1543NUF", "Honda CBR", 2003, 14500, 40, 600,false);
Contrato contrato1 = new Contrato( cliente1, moto1, "15/12/2004","29/11/2004", 10,180);
// Ahora sacamos por pantalla el contrato
System.out.println("Contrato: "+ contrato1);
} // Fin main()
} // Fin ClasePrincipal
		    La razón es sencilla. Las variables de instancia son privadas en cada clase. eso implica que solamente son visibles en esa misma clase y no en el resto de clases. lo que intentas imprimir es la referencia a ese objeto y no a sus variables. ¿Que es lo que quieres imprimir exactamente?
	    
    
		    Quiero imprimir el contrato, que incluye al cliente1 y al vehiculo1.
Gracias de antemano Miguel.
    Gracias de antemano Miguel.
		    puedes crear un método toString. por ejemplo si tengo una clase Triangulo cuyas variables de instancia son: 
public class Trinangulo{
	    
    public class Trinangulo{
		    public class Triangulo{
private float base;
private float altura;
// constructor
public String toString(){
return new String(base + "," + altura);
}
public class Prueba{
public static void main(String args[]){
Triangulo t = new Triangulo(10, 10);
System.out.println(t.toString());
}
}
Espero que te sea de ayuda. si tienes alguna problema aqui estoy
    private float base;
private float altura;
// constructor
public String toString(){
return new String(base + "," + altura);
}
public class Prueba{
public static void main(String args[]){
Triangulo t = new Triangulo(10, 10);
System.out.println(t.toString());
}
}
Espero que te sea de ayuda. si tienes alguna problema aqui estoy
