» »

java dedovanje

java dedovanje

xsenon ::

ojla,

a mi lahko nekdo pove kje sm nraedu napako da mi javlja error (do sedaj se nism kj dost ukvaju z dedovanjem)

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;


public class junij {
	public static void main(String[] args) {
		ArrayList<Avto> a = new ArrayList<Avto>();
		
		//napolni array list
		a.add(new Avto(12));
		
	}
	class Avto{
		 int cena;
	public Avto(int cena){
		this.cena=cena;		
		}
	public int cenaAvta(){
		return cena;
		}
	}	
	class TujAvto extends Avto{
		int carina;
		
	public TujAvto(int carina,int cena) {
		super(cena);
		this.carina=carina;
		}
	public int cenaAvta(){
		return cena+carina;
		}
	
	}
}

napako mi javi tamkjer želim napolnit arraylist z elementi in sicer javi mi: No enclosing instance of type izpitna_junij is accessible. Must qualify the allocation with an enclosing instance of type izpitna_junij (e.g. x.new A() where x is an instance of junij).

mislu sm .add ne .addall
etpot - Exploit The Power Of Technology
  • spremenil: xsenon ()

phyro ::

a.addall() sprejme collection, da nisi ti mislu uporabit a.add()

Zgodovina sprememb…

  • spremenil: phyro ()

KaRkY ::

Daj razreda Avto in TujAvto vsakega v svojo datoteko in ju označi da sta public. Sedaj pa če prav vidim on hoče met instanco razreda junij zato da bo lahko kreiral instanco razreda Avto.
When you look long into an abyss, the abyss looks into you

arjan_t ::

"inner" razreda morata biti static

si vmes kaj kodo spreminjal? ker napaka ki si jo napisal nima smisla

Spura ::

Če inner razred ni static, potem rabis najprej eno instanco parent razreda (enclosing class), da ga lahko instanciras. V metodah parent razreda je ob klicu new inner class implicitno izbrana instanca parent razreda "this". Ker pa ti instanciras inner class v metodi main, ki je staticna, mu rabis povedat za katero instanco gre.

Opcije so:
public  static void main(String[] args) {
   junij parent = new junij(); // btw classi so vedno z veliko
   ArrayList<Avto> a = new ArrayList<Avto>();
   a.add(parent.new Avto(12));    

ali pa:
public  static void main(String[] args) {
    junij parent = new junij();
    parent.dodajAvto()
}
private List<Avto> dodajAvto() {
    List<Avto> a = new ArrayList<Avto>();
    a.add(new Avto(12));
}

xsenon ::

hvala za odgovore sedaj mi zadeva deluje:) Hvala za razlago.
etpot - Exploit The Power Of Technology


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Android] Nov tip shranjevanja slike

Oddelek: Programiranje
142173 (1297) urosz
»

[Java] Podatkovni tip

Oddelek: Programiranje
233769 (3421) piki12
»

[Java] Sortiranje razredov

Oddelek: Programiranje
101440 (1187) Spura
»

[Java] Castanje

Oddelek: Programiranje
91517 (1372) fiction
»

Rekurzija v javi z ArrayList

Oddelek: Programiranje
81565 (1408) marjan_h

Več podobnih tem