Vnitřní třídy – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Vnitřní třídy – Java – Fórum – Programujte.comVnitřní třídy – Java – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Marek
~ Anonymní uživatel
474 příspěvků
8. 11. 2012   #1
-
0
-

 Potřebuji pomoc s příkladem na pochopení vnořené třidy, mám nějaký rozpracovaný kod, ale nejsem si jistý jestli je to správně.  Děkuji za jakoukoliv pomoc :)

/***
 * <p>
 * Vytvořte třídu MyStrucute, která bude potomkem této abstraktní třídy. Ten
 * bude:
 * 
 * <li>Implementovat metodu {@link #getAnonymousClass()}.
 * 
 * <li>Třída MyStrucute bude obsahovat metodu {@link #getAnonymousClass()}, která bude vracet instanci objektu
 * {@link AnonymousClass}
 * 
 * <li>Třída MyStrucute bude obsahovat metodu {@link #getInterClass()}, která bude vracet instanci objektu
 * {@link InterClass}
 * 
 * <li>Třída MyStrucute bude obsahovat metodu {@link #getStaticInterClass()}, která bude vracet instanci objektu
 * {@link StaticInterClass}
 * 
 * 
*/
public abstract class Structure {

	protected final String structureFiled = "structureFiled";

	/**
	 * Implementujte tuto metodu tak, aby vracela anonymní instanci třídy {@link AnonymousClass}.
	 */
	public abstract AnonymousClass getAnonymousClass();

	/**
	 * Implementujte tuto metodu tak, aby vracela anonymní instanci třídy {@link InterClass}.
	 */
	public abstract InterClass getInterClass();

	/**
	 * Implementujte tuto metodu tak, aby vracela anonymní instanci třídy {@link StaticInterClass}.
	 */
	public abstract StaticInterClass getStaticInterClass();

	/**
	 * Rozhraní pro Anonymní třídu.
	 */
	public static interface AnonymousClass {

		/**
		 * Implementujte tuto metodu, tak, aby vrátila řetězec "AnonymousClass".
		 * 
		 * @return definovaný řetězec.
		 */
		public abstract String anonymousClassMethod();
	}

	/**
	 * Abstraktní třída pro vnitřní třídu. Její definice bude součástí třídy {@link Structure}
	 * 
	 */
	public abstract class InterClass {

		protected final String structureFiled = "badField";

		/**
		 * Implementujte tuto metodu, tak, aby vrátila řetězec textový v protected proměnné
		 * {@link Structure#structureFiled}. Dejte pozor null;na to, aby jste vrátily správný řetězec, který náleží objektu
		 * {@link Structure} a nikoliv řetězec, patřící objektu {@link InterClass}
		 * 
		 * @return definovaný řetězec.
		 */
		public abstract String interClassMethod();
	}

	/**
	 * Abstraktní třída pro vnitřní statickou třídu. Její definice bude součástí třídy {@link Structure}
	 */
	public static interface StaticInterClass {

		/**
		 * Implementujte tuto metodu, tak, aby vrátila řetězec "StaticInterClass".
		 * 
		 * @return definovaný řetězec.
		 */
		public abstract String staticInterClassMethod();
	}

}

import Structure;

public class MyStructure extends Structure{

    @Override
    public AnonymousClass getAnonymousClass() {
        return new AnonymousClass() {

            @Override
            public String anonymousClassMethod() {
                return "AnonymousClass";
                    
            }
        };
    }

    @Override
    public InterClass getInterClass() {
        return new InterClass() {

            @Override
            public String interClassMethod() {
                return new MyStructure().structureFiled;
                    
            }
        };
    }

    @Override
    public StaticInterClass getStaticInterClass() {
        return new StaticInterClass() {

            @Override
            public String staticInterClassMethod() {
                    return "StaticInterClass";
            }
        };
            
    }
    public static void main(String[] args) {
        MyStructure struk = new MyStructure();
        System.out.println(struk.getInterClass().interClassMethod());
    }
}
Nahlásit jako SPAM
IP: 195.178.72.–
Reklama
Reklama
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 28 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý