Jak sklonować azora

0

Jak sklonować azora?

public class DogTest {

	public static void main(String args[]){

		DogClone azor = new DogClone("Charlie", 9, true);
		DogClone azorclone = azor.clone();
		
			}
	}

//output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from Object to DogClone

at DogTest.main(DogTest.java:13)
0

clone() zwraca typ Object. Musisz rzutować na swój typ.

0
public class DogTest {

	public static void main(String args[]){
		
		DogClone azor = new DogClone("Charlie", 9, true);
		try{
		DogClone azorclone = (DogClone) azor.clone();
		}catch (CloneNotSupportedException ex) {
		}
		
		azor.setOwner("Bobin");
		azorclone.setOwner("Robin");
		
		System.out.println(azor.toString());
		System.out.println(azorclone.toString);
		
		}
		}

Dzięki, ruszyłem dalej ale:

ta linijka powoduje błąd -> azorclone.setOwner("Robin");

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
azorclone cannot be resolved
azorclone cannot be resolved to a variable
at DogTest.main(DogTest.java:19)>

0

Ponieważ azorclone ma zasięg ograniczony do bloku try.

0

Jak to obejść?

0

Zadeklarować przed try albo używać tylko w try.

0


		DogClone azor = new DogClone("Charlie", 9, true);
		DogClone azorclone = null;
		
        try{
        azorclone = (DogClone) azor.clone();
        }catch (CloneNotSupportedException ex) {
        ex.printStackTrace();
        }
        
		azorclone.setOwner("Robin");
		azor.setOwner("Bobin");
		
		System.out.println(azor.toString());
		System.out.println(azorclone.getOwner());

java.lang.CloneNotSupportedException: DogClone
at java.lang.Object.clone(Native Method)
at DogTest.main(DogTest.java:17)
Exception in thread "main" java.lang.NullPointerException
at DogTest.main(DogTest.java:22)

0

Klasa musi implementować interfejs Cloneable w innym wypadku dostaniesz wyjątek " Clone not supported exception", który to właśnie Ci się rzuca

0

Dzięki wielkie Panowie, wszystko już działa, dwa azory są :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1