<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Komentarze do: Pytania rekrutacyjne &#8211; czym różni się klasa abstrakcyjna od interfejsu?	</title>
	<atom:link href="https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/feed/" rel="self" type="application/rss+xml" />
	<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/</link>
	<description>Blog o programowaniu w Javie</description>
	<lastBuildDate>Fri, 04 Aug 2023 17:06:47 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>
		Autor: Mateusz Dąbrowski		</title>
		<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-3969</link>

		<dc:creator><![CDATA[Mateusz Dąbrowski]]></dc:creator>
		<pubDate>Thu, 31 Mar 2022 11:48:44 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1837#comment-3969</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-3968&quot;&gt;Kasia&lt;/a&gt;.

Dziękuję <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-3968">Kasia</a>.</p>
<p>Dziękuję 😉</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Kasia		</title>
		<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-3968</link>

		<dc:creator><![CDATA[Kasia]]></dc:creator>
		<pubDate>Wed, 30 Mar 2022 20:02:06 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1837#comment-3968</guid>

					<description><![CDATA[Super artykuł. Dzięki za podzielenie się wiedzą.]]></description>
			<content:encoded><![CDATA[<p>Super artykuł. Dzięki za podzielenie się wiedzą.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Robert		</title>
		<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-3104</link>

		<dc:creator><![CDATA[Robert]]></dc:creator>
		<pubDate>Wed, 02 Jun 2021 12:08:31 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1837#comment-3104</guid>

					<description><![CDATA[Świetny artykuł! Fajnie rozwinięte wszystkie informacje. Łatwe do zrozumienia przez początkujących programistów  i duży plus za powiązanie z regułami SOLID
Dzięki!]]></description>
			<content:encoded><![CDATA[<p>Świetny artykuł! Fajnie rozwinięte wszystkie informacje. Łatwe do zrozumienia przez początkujących programistów  i duży plus za powiązanie z regułami SOLID<br />
Dzięki!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Mateusz Dąbrowski		</title>
		<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2750</link>

		<dc:creator><![CDATA[Mateusz Dąbrowski]]></dc:creator>
		<pubDate>Thu, 18 Feb 2021 17:38:56 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1837#comment-2750</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2749&quot;&gt;MrFisherman&lt;/a&gt;.

Hej, w artykule był błąd (już poprawiłem). Oczywiście interfejsy mogą dziedziczyć z wielu interfejsów. Aż sam się zdziwiłem, że takiego byka walnąłem <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2749">MrFisherman</a>.</p>
<p>Hej, w artykule był błąd (już poprawiłem). Oczywiście interfejsy mogą dziedziczyć z wielu interfejsów. Aż sam się zdziwiłem, że takiego byka walnąłem 😉</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: MrFisherman		</title>
		<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2749</link>

		<dc:creator><![CDATA[MrFisherman]]></dc:creator>
		<pubDate>Thu, 18 Feb 2021 16:42:09 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1837#comment-2749</guid>

					<description><![CDATA[Czemu jeżeli Interfejs może dziedziczyć po jednym interfejsie, to czemu kompilator w takim przypadku:
@Repository
public interface AuthorRepository extends JpaRepository, CrudRepository
nie krzyczy mi że coś jest źle? (Java 15)]]></description>
			<content:encoded><![CDATA[<p>Czemu jeżeli Interfejs może dziedziczyć po jednym interfejsie, to czemu kompilator w takim przypadku:<br />
@Repository<br />
public interface AuthorRepository extends JpaRepository, CrudRepository<br />
nie krzyczy mi że coś jest źle? (Java 15)</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Mateusz Dąbrowski		</title>
		<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2667</link>

		<dc:creator><![CDATA[Mateusz Dąbrowski]]></dc:creator>
		<pubDate>Sun, 24 Jan 2021 17:32:44 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1837#comment-2667</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2663&quot;&gt;Commander300&lt;/a&gt;.

Jeśli chodzi o interfejsy, to w takim przypadku w klasie możesz zaimplementować tylko jedną metodę, ponieważ w interfejsie dziedziczącym sygnatura metody zostaje nadpisana przez tę samą sygnaturę (Override). I tak naprawdę nie ma to wpływy na działanie aplikacji.

Co do klas abstrakcyjnych i metod abstrakcyjnych, to jest tak samo jak w przypadku interfejsów i ich metod.

Co do metod normalnych (public, protected), to też jest tak samo z tą różnicą, że tu też masz implementację i tym razem nadpisujesz metodę wraz z implementacją, więc może to zmieniać zachowanie twojej aplikacji.]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2663">Commander300</a>.</p>
<p>Jeśli chodzi o interfejsy, to w takim przypadku w klasie możesz zaimplementować tylko jedną metodę, ponieważ w interfejsie dziedziczącym sygnatura metody zostaje nadpisana przez tę samą sygnaturę (Override). I tak naprawdę nie ma to wpływy na działanie aplikacji.</p>
<p>Co do klas abstrakcyjnych i metod abstrakcyjnych, to jest tak samo jak w przypadku interfejsów i ich metod.</p>
<p>Co do metod normalnych (public, protected), to też jest tak samo z tą różnicą, że tu też masz implementację i tym razem nadpisujesz metodę wraz z implementacją, więc może to zmieniać zachowanie twojej aplikacji.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Commander300		</title>
		<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2663</link>

		<dc:creator><![CDATA[Commander300]]></dc:creator>
		<pubDate>Sat, 23 Jan 2021 15:59:25 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1837#comment-2663</guid>

					<description><![CDATA[A mam takie pytanie:
Co jeśli interfejs dziedziczy po innym interfejsie i w obu tworach jest metoda o takiej samej sygnaturze? Która metoda ma pierwszeństwo?
To samo odnośnie klasy abstrakcyjnej. Miałem takie pytanie na rozmowie kwalifikacyjnej.]]></description>
			<content:encoded><![CDATA[<p>A mam takie pytanie:<br />
Co jeśli interfejs dziedziczy po innym interfejsie i w obu tworach jest metoda o takiej samej sygnaturze? Która metoda ma pierwszeństwo?<br />
To samo odnośnie klasy abstrakcyjnej. Miałem takie pytanie na rozmowie kwalifikacyjnej.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Mateusz Dąbrowski		</title>
		<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2313</link>

		<dc:creator><![CDATA[Mateusz Dąbrowski]]></dc:creator>
		<pubDate>Wed, 18 Nov 2020 20:03:38 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1837#comment-2313</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2312&quot;&gt;wiciorny&lt;/a&gt;.

Stałe to pola statycznie, nie przynależą do instancji obiektu, zawsze możesz się do nich odwołać poprzez TwoJaKlasa.polestatyczne (nie potrzebujesz tutaj instancji obiektu). Pola statyczne można traktować jako takie &quot;dodatkowe miejsce w pamięci&quot;. W Javie jest tak, że musisz je definiować w jakiejś klasie lub interfejsie i jak są prywatne (w klasie), to są widoczne tylko w danej klasie, ale tak jak napisałem wyżej, nie przynależą do instancji obiektu, który utworzysz z takiej klasy, bo możesz się do nich odwoływać bezpośrednio, bez utworzenia instancji danego obiektu (chyba, że są prywatne, wtedy ich nie widać na zewnątrz).

&quot;Stan obiektu&quot;, to stan obiektu w momencie jego utworzenia (poprzez new) i przez cały czas istnienia tego obiektu. Jeśli obiekt jest zmienny (mutable), to taki stan może się zmieniać. 

Zmieniać w obiekcie możesz tylko jego pola. Np public int counter; Zmienne statyczne, stałe, to nie jest stan obiektu (to zmienne statyczne, albo składniki statyczne klasy i egzystują na poziomie klasy a nie obiektu, gdzy robisz new TwojaKlasa() to nie inicjalizują się, żadne składniki statyczne, tylko składniki dynamiczne, czyli pola).

Nie wiem, czy udało mi się to dobrze wyjaśnić, więc jak jeszcze coś jest niejasne to pisz <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2312">wiciorny</a>.</p>
<p>Stałe to pola statycznie, nie przynależą do instancji obiektu, zawsze możesz się do nich odwołać poprzez TwoJaKlasa.polestatyczne (nie potrzebujesz tutaj instancji obiektu). Pola statyczne można traktować jako takie &#8222;dodatkowe miejsce w pamięci&#8221;. W Javie jest tak, że musisz je definiować w jakiejś klasie lub interfejsie i jak są prywatne (w klasie), to są widoczne tylko w danej klasie, ale tak jak napisałem wyżej, nie przynależą do instancji obiektu, który utworzysz z takiej klasy, bo możesz się do nich odwoływać bezpośrednio, bez utworzenia instancji danego obiektu (chyba, że są prywatne, wtedy ich nie widać na zewnątrz).</p>
<p>&#8222;Stan obiektu&#8221;, to stan obiektu w momencie jego utworzenia (poprzez new) i przez cały czas istnienia tego obiektu. Jeśli obiekt jest zmienny (mutable), to taki stan może się zmieniać. </p>
<p>Zmieniać w obiekcie możesz tylko jego pola. Np public int counter; Zmienne statyczne, stałe, to nie jest stan obiektu (to zmienne statyczne, albo składniki statyczne klasy i egzystują na poziomie klasy a nie obiektu, gdzy robisz new TwojaKlasa() to nie inicjalizują się, żadne składniki statyczne, tylko składniki dynamiczne, czyli pola).</p>
<p>Nie wiem, czy udało mi się to dobrze wyjaśnić, więc jak jeszcze coś jest niejasne to pisz 😉</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: wiciorny		</title>
		<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2312</link>

		<dc:creator><![CDATA[wiciorny]]></dc:creator>
		<pubDate>Wed, 18 Nov 2020 19:07:32 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1837#comment-2312</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-1096&quot;&gt;Mateusz Dąbrowski&lt;/a&gt;.

W takim razie jeśli mamy stałe pola w interfejsach, to posiadają one stan?
Co rozumiesz przez &quot;Stan&quot; obiektu, stan definiują chyba zmienne- pola klasy? Skoro ma pola, co prawda statyczne, to jakiś stan posiada ? Czy coś nie kumam?]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-1096">Mateusz Dąbrowski</a>.</p>
<p>W takim razie jeśli mamy stałe pola w interfejsach, to posiadają one stan?<br />
Co rozumiesz przez &#8222;Stan&#8221; obiektu, stan definiują chyba zmienne- pola klasy? Skoro ma pola, co prawda statyczne, to jakiś stan posiada ? Czy coś nie kumam?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Autor: Commander300		</title>
		<link>https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2122</link>

		<dc:creator><![CDATA[Commander300]]></dc:creator>
		<pubDate>Mon, 28 Sep 2020 13:12:16 +0000</pubDate>
		<guid isPermaLink="false">http://nullpointerexception.pl/?p=1837#comment-2122</guid>

					<description><![CDATA[W odpowiedzi do &lt;a href=&quot;https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2121&quot;&gt;Mateusz Dąbrowski&lt;/a&gt;.

Dzięki za rozwinięcie tematu ;)]]></description>
			<content:encoded><![CDATA[<p>W odpowiedzi do <a href="https://nullpointerexception.pl/pytania-rekrutacyjne-czym-rozni-sie-klasa-abstrakcyjna-od-interfejsu/#comment-2121">Mateusz Dąbrowski</a>.</p>
<p>Dzięki za rozwinięcie tematu 😉</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
