Saludos, estaba haciendo un codigo de tres clases heredadas (padre-hijos) y en las primeras lineas del main me salen errores y no se que estoy implementando mal
public class Electrodomestico {
public String marca;
public double precio;
public int numPieza;
public Electrodomestico(String marcax, double preciox, int numPiezax){
fijaMarca(marcax);
fijaPrecio(preciox);
fijaNumPieza(numPiezax);
}
public void fijaMarca(String marcax){
marca=marcax;
}
public void fijaPrecio(double preciox){
precio=preciox;
}
public void fijaNumPieza(int numPiezax){
numPieza=numPiezax;
}
public String dameMarca(){
return marca;
}
public double damePrecio(){
return precio;
}
public int dameNumPieza(){
return numPieza;
}
class Refrigerador extends Electrodomestico{
private String color;
private int numPuertas;
private int numCajones;
public Refrigerador(String marcax,double preciox,int numPiezax,String colorx,
int numPuertasx,int numCajonesx){
super(marcax,preciox,numPiezax);
fijaColor(colorx);
fijaNumPuertas(numPuertasx);
fijaNumCajones(numCajonesx);
}
public void fijaColor(String colorx){
color=colorx;
}
public void fijaNumPuertas(int numPuertasx){
numPuertas=numPuertasx;
}
public void fijaNumCajones(int numCajonesx){
numCajones=numCajonesx;
}
public String dameColor(){
return color;
}
public int dameNumPuertas(){
return numPuertas;
}
public int dameNumCajones(){
return numCajones;
}
}
class Lavadora extends Electrodomestico{
private int velocidadRPM;
private int anchoCM;
private String modelo;
public Lavadora(String marcax,double preciox,int numPiezax,int velocidadRPMx,
int anchoCMx,String modelox){
super(marcax,preciox,numPiezax);
fijaVelocidadRPM(velocidadRPMx);
fijaAnchoCM(anchoCMx);
fijaModelo(modelox);
}
public void fijaVelocidadRPM(int velocidadRPMx){
velocidadRPM=velocidadRPMx;
}
public void fijaAnchoCM(int anchoCMx){
anchoCM=anchoCMx;
}
public void fijaModelo(String modelox){
modelo=modelox;
}
public int dameVelocidadRPM(){
return velocidadRPM;
}
public int dameAnchoCM(){
return anchoCM;
}
public String dameModelo(){
return modelo;
}
}
public class Herencia{
public static void main(String[] args) {
Electrodomestico e=new Electrodomestico("Whirpool",7000.50,1);
Refrigerador r=new Refrigerador("LG",2000.00,1,"blanco",3,8);
Lavadora l=new Lavadora("Samsung",3000.50,1,1000,55,"SMO2VY346");
System.out.println("Marca: "+r.dameMarca());
System.out.println("Precio: "+r.damePrecio());
System.out.println("Numero de Piezas: "+r.dameNumPieza());
System.out.println("Color: "+r.dameColor());
System.out.println("Numero de Puertas: "+r.dameNumPuertas());
System.out.println("Numero de Cajones: "+r.dameNumCajones());
System.out.println("Marca: "+l.dameMarca());
System.out.println("Precio: "+l.damePrecio());
System.out.println("Numero de Piezas: "+l.dameNumPieza());
System.out.println("Velocidad(rpm): "+l.dameVelocidadRPM());
System.out.println("Ancho(cm): "+l.dameAnchoCM());
System.out.println("Modelo: "+l.dameModelo());
}
}
}
de antemano gracias
Deberias poner cual es el error que te da para asi tener una idea de cual es y con gusto te podemos ayudar ::)
lo que sucede es que segun yo main deberia de ser static pero si lo pongo como static me aparece el siguiente mensaje de error:
The method main cannot be declared static
y si se lo quito en la linea de:
Electrodomestico e=new Electrodomestico("Whirpool",7000.50,1);
me aparece the local variable e is never read
saludos
que nombre tiene tu archivo?
es un solo archivo?
si es un solo archivo esta mal por que no puede haber 2 clases publicas en un mismo archivo
wtf las cosas que se pueden aprender de sorpresa
esta es la version corregida
notepad Electrodomestico.java
public class Electrodomestico {
public String marca;
public double precio;
public int numPieza;
public Electrodomestico(String marcax, double preciox, int numPiezax) {
fijaMarca(marcax);
fijaPrecio(preciox);
fijaNumPieza(numPiezax);
}
public void fijaMarca(String marcax) {
marca = marcax;
}
public void fijaPrecio(double preciox) {
precio = preciox;
}
public void fijaNumPieza(int numPiezax) {
numPieza = numPiezax;
}
public String dameMarca() {
return marca;
}
public double damePrecio() {
return precio;
}
public int dameNumPieza() {
return numPieza;
}
static class Refrigerador extends Electrodomestico {
private String color;
private int numPuertas;
private int numCajones;
public Refrigerador(String marcax, double preciox, int numPiezax, String colorx,
int numPuertasx, int numCajonesx) {
super(marcax, preciox, numPiezax);
fijaColor(colorx);
fijaNumPuertas(numPuertasx);
fijaNumCajones(numCajonesx);
}
public void fijaColor(String colorx) {
color = colorx;
}
public void fijaNumPuertas(int numPuertasx) {
numPuertas = numPuertasx;
}
public void fijaNumCajones(int numCajonesx) {
numCajones = numCajonesx;
}
public String dameColor() {
return color;
}
public int dameNumPuertas() {
return numPuertas;
}
public int dameNumCajones() {
return numCajones;
}
}
static class Lavadora extends Electrodomestico {
private int velocidadRPM;
private int anchoCM;
private String modelo;
public Lavadora(String marcax, double preciox, int numPiezax, int velocidadRPMx,
int anchoCMx, String modelox) {
super(marcax, preciox, numPiezax);
fijaVelocidadRPM(velocidadRPMx);
fijaAnchoCM(anchoCMx);
fijaModelo(modelox);
}
public void fijaVelocidadRPM(int velocidadRPMx) {
velocidadRPM = velocidadRPMx;
}
public void fijaAnchoCM(int anchoCMx) {
anchoCM = anchoCMx;
}
public void fijaModelo(String modelox) {
modelo = modelox;
}
public int dameVelocidadRPM() {
return velocidadRPM;
}
public int dameAnchoCM() {
return anchoCM;
}
public String dameModelo() {
return modelo;
}
}
static class Herencia {
public static void main(String[] args) {
Electrodomestico e = new Electrodomestico("Whirpool", 7000.50, 1);
Refrigerador r = new Refrigerador("LG", 2000.00, 1, "blanco", 3, 8);
Lavadora l = new Lavadora("Samsung", 3000.50, 1, 1000, 55, "SMO2VY346");
System.out.println("Marca: " + r.dameMarca());
System.out.println("Precio: " + r.damePrecio());
System.out.println("Numero de Piezas: " + r.dameNumPieza());
System.out.println("Color: " + r.dameColor());
System.out.println("Numero de Puertas: " + r.dameNumPuertas());
System.out.println("Numero de Cajones: " + r.dameNumCajones());
System.out.println("Marca: " + l.dameMarca());
System.out.println("Precio: " + l.damePrecio());
System.out.println("Numero de Piezas: " + l.dameNumPieza());
System.out.println("Velocidad(rpm): " + l.dameVelocidadRPM());
System.out.println("Ancho(cm): " + l.dameAnchoCM());
System.out.println("Modelo: " + l.dameModelo());
}
}
}
javac Electrodomestico.java
java Electrodomestico$Herencia
y porfavor usa una clase por archivo y evita usar static para que no te pase denuevo
Tal y como esta el anterior funciona
muchas gracias ;D
oye puntoinfinito a cual de los dos códigos de refieres?? por que el mio aunque ya le quite los errores no me corre, me dice none applicable