<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Java%2FC3%2FPolymorphism%2FEnglish</id>
		<title>Java/C3/Polymorphism/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Java%2FC3%2FPolymorphism%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;action=history"/>
		<updated>2026-05-13T03:40:31Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;diff=21687&amp;oldid=prev</id>
		<title>Nancyvarkey at 05:37, 29 April 2015</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;diff=21687&amp;oldid=prev"/>
				<updated>2015-04-29T05:37:24Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 05:37, 29 April 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 282:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 282:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Switch to TestEmployee&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| This is because, '''setDepartment '''method does not exist for '''Employee '''class.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| This is because, '''setDepartment '''method does not exist for '''Employee '''class.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 306:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 306:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Highlight the output.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Here in the output &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;we &lt;/del&gt;get the '''Manager of: '''as blank.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Switch to TestEmployee&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Here in the output&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;We &lt;/ins&gt;get the '''Manager of: '''as blank.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is because we have not initialized '''department''' in '''Manager '''class using '''emp2'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is because we have not initialized '''department''' in '''Manager '''class using '''emp2'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 347:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 354:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Manager of: Accounts'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Manager of: Accounts'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| We get the output:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| We get the output,&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Employee''' object referring '''Employee''' class,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Employee''' object referring '''Employee''' class,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 364:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 372:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;But when '''emp2''' tried calling '''setDepartment''', we got an error.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;But when '''emp2''' tried calling '''setDepartment''', we got an error.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The reason for that is as follows:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #20124d;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Highlight '''getDetails()'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #20124d;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Highlight '''getDetails()'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| The compiler sees the '''getDetails()''' method in the '''Employee''' class during '''emp2.getDetails()'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The reason for that is as follows:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The compiler sees the '''getDetails()''' method in the '''Employee''' class during '''emp2.getDetails()'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;So, it does not throw an error and validates the code.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;So, it does not throw an error and validates the code.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 398:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 406:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;So we get the output as per '''getDetails() '''of '''Employee '''class.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;So we get the output as per '''getDetails() '''of '''Employee '''class.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| style=&amp;quot;border:0.05pt solid #20124d;padding:0.185cm;&amp;quot;| Previous screen&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #20124d;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;|Thus '''JVM''' calls the appropriate method for the object that is referred to in each variable.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Thus '''JVM''' calls the appropriate method for the object that is referred to in each variable.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This behavior is referred to as '''Virtual Method Invocation.'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This behavior is referred to as '''Virtual Method Invocation.'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The methods are referred to as '''Virtual Methods'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The methods are referred to as '''Virtual Methods'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;diff=21618&amp;oldid=prev</id>
		<title>Nancyvarkey at 06:57, 27 April 2015</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;diff=21618&amp;oldid=prev"/>
				<updated>2015-04-27T06:57:44Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;amp;diff=21618&amp;amp;oldid=21162&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;diff=21162&amp;oldid=prev</id>
		<title>Trupti at 09:34, 30 March 2015</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;diff=21162&amp;oldid=prev"/>
				<updated>2015-03-30T09:34:24Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;amp;diff=21162&amp;amp;oldid=21160&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Trupti</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;diff=21160&amp;oldid=prev</id>
		<title>Trupti: Created page with &quot;'''Title of script''':''' Polymorphism in Java'''  '''Author: Trupti Rajesh Kini'''  '''Keywords: Polymorphism, virtual method, run-time polymorphism, Compile-time polymorphis...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Polymorphism/English&amp;diff=21160&amp;oldid=prev"/>
				<updated>2015-03-30T09:14:30Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Title of script&amp;#039;&amp;#039;&amp;#039;:&amp;#039;&amp;#039;&amp;#039; Polymorphism in Java&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;Author: Trupti Rajesh Kini&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;Keywords: Polymorphism, virtual method, run-time polymorphism, Compile-time polymorphis...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Title of script''':''' Polymorphism in Java'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Trupti Rajesh Kini'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: Polymorphism, virtual method, run-time polymorphism, Compile-time polymorphism, static binding, dynamic binding, video tutorial'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| '''Narration'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Slide 1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Welcome to the '''spoken-tutorial '''on '''Polymorphism in Java.''' &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Slide 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| In this tutorial we will learn : &lt;br /&gt;
&lt;br /&gt;
* About '''Polymorphism''' in Java&lt;br /&gt;
* '''Run-time polymorphism'''&lt;br /&gt;
* '''Virtual Method Invocation'''&lt;br /&gt;
* '''Compile-time polymorphism'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Slide 3 &lt;br /&gt;
&lt;br /&gt;
'''Software Requirements''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Here we are using &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux Version 12.04'''&lt;br /&gt;
* '''JDK 1.7''' &lt;br /&gt;
* '''Eclipse 4.3.1''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Slide 4 &lt;br /&gt;
&lt;br /&gt;
'''Prerequisites''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| To follow this tutorial, you must have basic knowledge of,&lt;br /&gt;
&lt;br /&gt;
* '''Java and Eclipse IDE.''' &lt;br /&gt;
* '''Subclassing '''&amp;amp; '''method overriding and overloading'''&lt;br /&gt;
&lt;br /&gt;
If not, for relevant tutorials, please visit our website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Slide 5 and slide 6&lt;br /&gt;
&lt;br /&gt;
What is '''polymorphism?''' &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| '''Polymorphism''' is an ability of an object to take on many forms.&lt;br /&gt;
&lt;br /&gt;
The major advantages of '''Polymorphism '''are:&lt;br /&gt;
&lt;br /&gt;
1. Reduction of complexity &amp;amp;&lt;br /&gt;
&lt;br /&gt;
2. Code re-usability &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Slide 7&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| In '''Java''', there are two types of '''polymorphism''':&lt;br /&gt;
&lt;br /&gt;
'''Compile-time''' and '''Run-time polymorphism.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| '''Compile-time polymorphism''' is essentially referred as '''method overloading'''.&lt;br /&gt;
&lt;br /&gt;
It is also called '''Static Binding'''. &lt;br /&gt;
&lt;br /&gt;
'''Run-time polymorphism''' is essentially referred as '''method overriding'''.&lt;br /&gt;
&lt;br /&gt;
It is also called '''Dynamic Binding.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| We have already learnt '''Run-time polymorphism''' i.e. '''method overriding'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Go to the '''Eclipse IDE '''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Let us Switch to '''Eclipse IDE.'''&lt;br /&gt;
&lt;br /&gt;
I have already created a project named '''MyProject''' in the previous tutorial.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Let us take the code files of '''Using final keyword '''tutorial'''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| '''Employee '''class is the parent class.&lt;br /&gt;
&lt;br /&gt;
'''Manager '''class is the subclass.&lt;br /&gt;
&lt;br /&gt;
'''Manager''' class contains an additional variable department.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Highlight '''manager '''method '''getDetails()'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| '''Manager '''class method '''getDetails()''' overrides the '''Employee '''class method '''getDetails().'''&lt;br /&gt;
&lt;br /&gt;
We are calling the '''getDetails()''' method by '''Manager '''class object i.e. '''Manager.'''&lt;br /&gt;
&lt;br /&gt;
In order to print details '''system.out.println''' type '''Details of Manager Class.'''&lt;br /&gt;
&lt;br /&gt;
'''Save '''and run the program.&lt;br /&gt;
&lt;br /&gt;
So we can see '''department''' variable value in the output.&lt;br /&gt;
&lt;br /&gt;
Therefore subclass method is invoked at runtime.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Slide 8&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Method invocation is determined by the '''JVM,''' not compiler.&lt;br /&gt;
&lt;br /&gt;
Therefore it is known as '''Runtime''' polymorphism or '''method overriding.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| We learnt what is '''Run time polymorphism.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Now let us learn '''Virtual Method Invocation.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Come to '''Employee '''class.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Remove the '''static '''and '''final''' keyword for variable '''name.'''&lt;br /&gt;
&lt;br /&gt;
Remove the '''static '''block.&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Remove the '''static '''and '''final''' keyword for variable '''name.'''&lt;br /&gt;
&lt;br /&gt;
Remove the '''static '''block.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Uncomment '''setName '''method &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Uncomment '''setName '''method.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Come to '''TestEmployee '''class &lt;br /&gt;
&lt;br /&gt;
Uncomment the line '''manager.setName(“Nikkita Dinesh”);'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Come to '''TestEmployee '''class in IDE.&lt;br /&gt;
&lt;br /&gt;
Uncomment the value instance,&lt;br /&gt;
&lt;br /&gt;
'''manager.setName(“Nikkita Dinesh”);'''&lt;br /&gt;
&lt;br /&gt;
We uncommented this instance as we have uncommented the method '''setName().'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #20124d;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Type,&lt;br /&gt;
&lt;br /&gt;
'''Employee emp1 = new Employee();'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Now, lets instantiate '''Employee''' object emp1 for '''Employee '''class reference.&lt;br /&gt;
&lt;br /&gt;
Type,&lt;br /&gt;
&lt;br /&gt;
'''Employee emp1 = new Employee();'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #20124d;border-bottom:0.05pt solid #20124d;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Type,&lt;br /&gt;
&lt;br /&gt;
'''emp1.setName(&amp;quot;Jayesh&amp;quot;);'''&lt;br /&gt;
&lt;br /&gt;
'''emp1.setEmail(&amp;quot;jayesh@gmail.com&amp;quot;);'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Lets initialize the value for '''setEmail '''and '''setName''' for '''Employee '''class.&lt;br /&gt;
&lt;br /&gt;
Type,&lt;br /&gt;
&lt;br /&gt;
'''emp1.setName(&amp;quot;Jayesh&amp;quot;);'''&lt;br /&gt;
&lt;br /&gt;
'''emp1.setEmail(&amp;quot;pqr@gmail.com&amp;quot;);'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #20124d;border-bottom:0.05pt solid #20124d;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Type,&lt;br /&gt;
&lt;br /&gt;
'''System.out.println(&amp;quot;Details of Employee class:&amp;quot; + &amp;quot;\n&amp;quot; + emp1.getDetails());'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| In order to print the employee details type,&lt;br /&gt;
&lt;br /&gt;
'''System.out.println(&amp;quot;Details of Employee class:&amp;quot; + &amp;quot;\n&amp;quot; + emp1.getDetails());'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #20124d;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Type,&lt;br /&gt;
&lt;br /&gt;
'''Employee emp2 = new Manager();'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Let us instantiate '''Manager '''object '''emp2 '''for '''Employee '''class reference i.e.&lt;br /&gt;
&lt;br /&gt;
'''Employee emp2 = new Manager();'''&lt;br /&gt;
&lt;br /&gt;
We are able to do this because''','''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| '''Slide 9'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Any '''Java''' object that pass more than one '''IS-A '''test is polymorphic.&lt;br /&gt;
&lt;br /&gt;
In '''Java''', all objects are polymorphic since any object will pass the '''IS-A '''test for their own type and for the class Object.&lt;br /&gt;
&lt;br /&gt;
* A Manager '''IS-A''' Employee&lt;br /&gt;
* A Manager '''IS-A''' Manager&lt;br /&gt;
* A Manager '''IS-A''' Object&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Highlight '''manager, emp1 '''and '''emp2'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Only possible way to access an object is through a reference variable. &lt;br /&gt;
&lt;br /&gt;
Reference variables like '''emp1, emp2 '''and '''manager.'''&lt;br /&gt;
&lt;br /&gt;
Here, we instantiated two '''Manager''' objects:&lt;br /&gt;
&lt;br /&gt;
One which references '''Employee '''class.&lt;br /&gt;
&lt;br /&gt;
Other references '''Manager '''class.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Type,&lt;br /&gt;
&lt;br /&gt;
'''emp.setName(&amp;quot;Ankita&amp;quot;);'''&lt;br /&gt;
&lt;br /&gt;
'''emp.setEmail(&amp;quot;ankita@gmail.com&amp;quot;);'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Let’s initialize the values for '''setEmail, setName''' and '''setDepartment '''using '''emp''' object.&lt;br /&gt;
&lt;br /&gt;
Type,&lt;br /&gt;
&lt;br /&gt;
'''emp.setName(&amp;quot;Ankita&amp;quot;);'''&lt;br /&gt;
&lt;br /&gt;
'''emp.setEmail(“xyz[mailto:ankita@gmail.com @gmail.com]”''');'''&lt;br /&gt;
&lt;br /&gt;
'''emp.setDepartment(“IT”);'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Point to the red cross.&lt;br /&gt;
&lt;br /&gt;
Highlight error,&lt;br /&gt;
&lt;br /&gt;
'''The method setDepartment(String) is undefined for the type Employee'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| We see that there is an error,&lt;br /&gt;
&lt;br /&gt;
'''The method setDepartment(String) is undefined for the type Employee'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| This is because, '''setDepartment '''method does not exist for '''Employee '''class.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Remove the line,&lt;br /&gt;
&lt;br /&gt;
'''emp.setDepartment(&amp;quot;IT&amp;quot;);'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Remove the line,&lt;br /&gt;
&lt;br /&gt;
'''emp.setDepartment(&amp;quot;IT&amp;quot;);'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #20124d;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Type,&lt;br /&gt;
&lt;br /&gt;
'''System.out.println(&amp;quot;Details of Manager class:&amp;quot; + &amp;quot;\n&amp;quot; + emp.getDetails());'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| In order to print the employee details type,&lt;br /&gt;
&lt;br /&gt;
'''System.out.println(&amp;quot;Details of Manager class:&amp;quot; + &amp;quot;\n&amp;quot; + emp.getDetails());'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #20124d;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.106cm;&amp;quot;| '''Save '''and '''Run '''the program.&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| '''Save '''and '''Run '''the program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Highlight output,&lt;br /&gt;
&lt;br /&gt;
'''Details of Employee class:'''&lt;br /&gt;
&lt;br /&gt;
'''Name: Jayesh'''&lt;br /&gt;
&lt;br /&gt;
'''Email: pqr@gmail.com'''&lt;br /&gt;
&lt;br /&gt;
'''Details of Manager class:'''&lt;br /&gt;
&lt;br /&gt;
'''Name: Ankita'''&lt;br /&gt;
&lt;br /&gt;
'''Email: xyz@gmail.com'''&lt;br /&gt;
&lt;br /&gt;
'''Manager of:'''&lt;br /&gt;
&lt;br /&gt;
'''Name: Nikkita Dinesh'''&lt;br /&gt;
&lt;br /&gt;
'''Email: abc@gmail.com'''&lt;br /&gt;
&lt;br /&gt;
'''Manager of: Accounts'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| We get the output,&lt;br /&gt;
&lt;br /&gt;
'''Details of Employee class:'''&lt;br /&gt;
&lt;br /&gt;
'''Name: Jayesh'''&lt;br /&gt;
&lt;br /&gt;
'''Email: pqr@gmail.com'''&lt;br /&gt;
&lt;br /&gt;
'''Details of Manager class:'''&lt;br /&gt;
&lt;br /&gt;
'''Name: Ankita'''&lt;br /&gt;
&lt;br /&gt;
'''Email: xyz@gmail.com'''&lt;br /&gt;
&lt;br /&gt;
'''Manager of:'''&lt;br /&gt;
&lt;br /&gt;
'''Name: Nikkita Dinesh'''&lt;br /&gt;
&lt;br /&gt;
'''Email: abc@gmail.com'''&lt;br /&gt;
&lt;br /&gt;
'''Manager of: Accounts'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Here in the output we get the '''Manager of: '''as blank.&lt;br /&gt;
&lt;br /&gt;
This is because we have not initialized department in '''Manager '''class using emp2 object .&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Type,&lt;br /&gt;
&lt;br /&gt;
'''public String department=&amp;quot;IT&amp;quot;;'''&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| For demo purpose let the default department be IT.&lt;br /&gt;
&lt;br /&gt;
So, go to '''Manager '''class and initialize the value for '''department.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| '''Save '''and '''run '''the program.&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| '''Save''' and '''run''' the program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Highlight output,&lt;br /&gt;
&lt;br /&gt;
'''Details of Manager class :'''&lt;br /&gt;
&lt;br /&gt;
'''Name: Ankita'''&lt;br /&gt;
&lt;br /&gt;
'''Email: ankita@gmail.com'''&lt;br /&gt;
&lt;br /&gt;
'''Manager of:'''&lt;br /&gt;
&lt;br /&gt;
'''Details of Manager class:'''&lt;br /&gt;
&lt;br /&gt;
'''Name: Jayesh'''&lt;br /&gt;
&lt;br /&gt;
'''Email: jayesh@gmail.com'''&lt;br /&gt;
&lt;br /&gt;
'''Details of Manager class:'''&lt;br /&gt;
&lt;br /&gt;
'''Name: Nikkita Dinesh'''&lt;br /&gt;
&lt;br /&gt;
'''Email: abc@gmail.com'''&lt;br /&gt;
&lt;br /&gt;
'''Manager of: Accounts'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| We get the output,&lt;br /&gt;
&lt;br /&gt;
Employee object referring Employee class,&lt;br /&gt;
&lt;br /&gt;
Manager object referring Employee class &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Manager object referring Manager class,&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Here we see that the '''getDetails() '''method of Manager class is called by '''emp2'''. &lt;br /&gt;
&lt;br /&gt;
But when '''emp2''' tried calling '''setDepartment''', we got an error.&lt;br /&gt;
&lt;br /&gt;
The reason for that is as follows:&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #20124d;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| The compiler sees the '''getDetails()''' method in the '''Employee''' class during '''emp2.getDetails()'''.&lt;br /&gt;
&lt;br /&gt;
So, it does not throw an error and validates the code.&lt;br /&gt;
&lt;br /&gt;
At run time, however, the '''JVM''' invokes '''''getDetails()''''' in the '''Manager''' class.&lt;br /&gt;
&lt;br /&gt;
As '''getDetails() '''of '''Manager '''class overrides '''getDetails() '''of '''Employee '''class.&lt;br /&gt;
&lt;br /&gt;
So we get the output as per '''getDetails() '''of '''Manager '''class.&lt;br /&gt;
&lt;br /&gt;
But the compiler does not see the '''setDepartment''' method in the '''Employee '''class.&lt;br /&gt;
&lt;br /&gt;
Therefore, it raises an error in case of '''setDepartment''' call by emp2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #20124d;padding:0.185cm;&amp;quot;| Highlight &lt;br /&gt;
&lt;br /&gt;
'''System.out.println(&amp;quot;Details of Employee class:&amp;quot; + &amp;quot;\n&amp;quot; + emp1.getDetails());'''&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #20124d;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Here, '''Employee '''method '''getDetails()''' is invoked for '''Employee '''class.&lt;br /&gt;
&lt;br /&gt;
The compiler references '''Employee''' class for '''getDetails()''' during '''emp1.getDetails().'''&lt;br /&gt;
&lt;br /&gt;
At run time, the '''JVM''' invokes '''''getDetails()''''' in the '''Employee''' class.&lt;br /&gt;
&lt;br /&gt;
So we get the output as per '''getDetails() '''of '''Employee '''class.&lt;br /&gt;
&lt;br /&gt;
Thus JVM calls the appropriate method for the object that is referred to in each variable&lt;br /&gt;
&lt;br /&gt;
This behavior is referred to as '''Virtual Method Invocation.'''&lt;br /&gt;
&lt;br /&gt;
The methods are referred to as '''Virtual Methods'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #20124d;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #20124d;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| All methods in Java behave in this manner.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #20124d;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| * &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #20124d;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| We successfully learnt what is '''Virtual Method Invocation.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.05pt solid #20124d;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.185cm;&amp;quot;| Slide 10&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| We have already learnt '''Compile-time polymorphism '''i.e. method overloading.&lt;br /&gt;
&lt;br /&gt;
Let us quickly know '''Compile time polymorphism '''in brief.&lt;br /&gt;
&lt;br /&gt;
'''Compile time polymorphism''' is nothing but '''method overloading''' in java.&lt;br /&gt;
&lt;br /&gt;
Class can have more than one methods.&lt;br /&gt;
&lt;br /&gt;
The methods have same name but with different number of arguments.&lt;br /&gt;
&lt;br /&gt;
Compiler is able to figure out the method call at compile-time.&lt;br /&gt;
&lt;br /&gt;
That’s the reason it is known as '''compile time polymorphism.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| So let us summarize.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| '''Slide 11'''&lt;br /&gt;
&lt;br /&gt;
'''Summary''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| In this tutorial we learnt: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* What is '''Polymorphism''' in Java?&lt;br /&gt;
* '''Run-time polymorphism'''&lt;br /&gt;
* '''Compile-time polymorphism'''&lt;br /&gt;
* '''Virtual Method Invocation'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| '''Slide 12'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment''' &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.185cm;&amp;quot;| As an assignment,&lt;br /&gt;
&lt;br /&gt;
Override methods for '''Vehicle''' and '''Bike class''' which we used in previous tutorials.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Slide 13&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| The video available at the following link summarizes the Spoken Tutorial project. Please watch it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Slide 14&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial workshops'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| The Spoken Tutorial Project Team conducts workshops and gives certificates to those who pass an online test.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Slide 15&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgement'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| Spoken Tutorial Project is supported by the NMEICT, MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
More information on this Mission is available at this link.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:0.05pt solid #000000;padding:0.106cm;&amp;quot;| This is Trupti Kini from IIT Bombay signing off. Thank you for joining.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Trupti</name></author>	</entry>

	</feed>