<?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%2FSubclassing-and-Method-Overriding%2FEnglish</id>
		<title>Java/C3/Subclassing-and-Method-Overriding/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%2FSubclassing-and-Method-Overriding%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Subclassing-and-Method-Overriding/English&amp;action=history"/>
		<updated>2026-05-13T19:28:35Z</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/Subclassing-and-Method-Overriding/English&amp;diff=9069&amp;oldid=prev</id>
		<title>Nancyvarkey at 10:06, 12 March 2014</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Subclassing-and-Method-Overriding/English&amp;diff=9069&amp;oldid=prev"/>
				<updated>2014-03-12T10:06:05Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=Java/C3/Subclassing-and-Method-Overriding/English&amp;amp;diff=9069&amp;amp;oldid=9062&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/Subclassing-and-Method-Overriding/English&amp;diff=9062&amp;oldid=prev</id>
		<title>Arya Ratish: Created page with ''''Title of script''': Subclassing and Method overriding  '''Author: arya '''  '''Keywords: '''subclassing, extends keyword, overriding, method overriding, Java, Eclipse IDE, vid…'</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Java/C3/Subclassing-and-Method-Overriding/English&amp;diff=9062&amp;oldid=prev"/>
				<updated>2014-03-12T07:33:50Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;#039;&amp;#039;&amp;#039;&amp;#039;Title of script&amp;#039;&amp;#039;&amp;#039;: Subclassing and Method overriding  &amp;#039;&amp;#039;&amp;#039;Author: arya &amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;Keywords: &amp;#039;&amp;#039;&amp;#039;subclassing, extends keyword, overriding, method overriding, Java, Eclipse IDE, vid…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Title of script''': Subclassing and Method overriding&lt;br /&gt;
&lt;br /&gt;
'''Author: arya '''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: '''subclassing, extends keyword, overriding, method overriding, Java, Eclipse IDE, 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:1pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Slide 1'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the spoken-tutorial on''' Subclassing and Method overriding.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Slide 2'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn about :&lt;br /&gt;
&lt;br /&gt;
* '''subclassing'''&lt;br /&gt;
* '''extends '''keyword and&lt;br /&gt;
* '''method overriding'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''Software Requirements'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Here we are using&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:1pt solid #000000;padding:0.106cm;&amp;quot;| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| To follow this tutorial, you must have knowledge of&lt;br /&gt;
&lt;br /&gt;
'''basics of Java and Eclipse IDE.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If not, for relevant '''Java '''tutorials, please visit our website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Subclassing'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| First of all, we will learn what '''subclassing '''is.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* It is a way to create a new '''class''' from an existing '''class.'''&lt;br /&gt;
&lt;br /&gt;
* The new class created is called '''subclass '''or''' derived class '''or''' child class.'''&lt;br /&gt;
&lt;br /&gt;
* The already existing class is called '''superclass '''or''' base class '''or''' parent class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Go to the '''Eclipse''' '''IDE.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, let me show you how to create a '''sub-class. '''&lt;br /&gt;
&lt;br /&gt;
So, go to the '''Eclipse''' '''IDE.''' &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''Employee class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public class Employee {'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| I have already created a '''class '''called '''Employee.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''variables'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public String name&amp;lt;nowiki&amp;gt;=&amp;quot;&amp;quot;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''public String email_address&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| It has '''variables name '''and '''email_address.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''setter '''and '''getter methods.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public void setName(String newName) {'''&lt;br /&gt;
&lt;br /&gt;
''' name&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;newName&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public String getName() {'''&lt;br /&gt;
&lt;br /&gt;
''' return name&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public void setEmail(String newEmail) {'''&lt;br /&gt;
&lt;br /&gt;
''' email_address&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;newEmail&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public String getEmail() {'''&lt;br /&gt;
&lt;br /&gt;
''' return email_address&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| It also has the '''setter '''and '''getter methods '''for the '''class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''method getDetails().'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public String getDetails() '''&lt;br /&gt;
&lt;br /&gt;
'''{'''&lt;br /&gt;
&lt;br /&gt;
''' '''&lt;br /&gt;
&lt;br /&gt;
'''return(&amp;quot;Name: &amp;quot; + getName() + &amp;quot;\n&amp;quot; + &amp;quot;Email: &amp;quot; + getEmail());'''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
&lt;br /&gt;
''' '''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| It has a '''method getDetails().'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This '''method '''returns the '''name '''and''' email_address.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public class Manager {'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, let us come to the '''class '''called '''Manager.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''variables.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public String name&amp;lt;nowiki&amp;gt;=&amp;quot;&amp;quot;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''public String email_address&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''public String department&amp;lt;nowiki&amp;gt;=&amp;quot;&amp;quot;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| It has '''variables name, email_address '''and '''department.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight '''name and email_address '''in both the '''Employee '''and '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public String name&amp;lt;nowiki&amp;gt;=&amp;quot;&amp;quot;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''public String email_address&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| We can see that some '''variables''' are common to both '''Employee '''and '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''name '''and''' email_address '''are there in '''Employee class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see that its also there in '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Thus, '''Manager class '''can be made a '''subclass''' of '''Employee class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| For that, we have to make some changes in the '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Type '''public class Manager extends Employee{'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| After '''public class Manager, '''type '''extends Employee.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''extends keyword.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| We use the '''extends keyword '''to create a '''subclass '''from an existing '''class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Remove '''name, email_address '''from '''Manager class.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Remove the duplicate '''variables '''common to both the '''classes.'''&lt;br /&gt;
&lt;br /&gt;
So, remove '''name '''and''' email_address '''from '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
Also remove '''setter '''and '''getter methods '''of the same.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight '''variable department.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| In the '''class Manager, '''we will have only one '''variable department.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''setter '''and '''getter method.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public void setDepartment(String newDepartment) {'''&lt;br /&gt;
&lt;br /&gt;
''' department&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;newDepartment&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public String getDepartment() {'''&lt;br /&gt;
&lt;br /&gt;
''' return department&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| We also have the '''setter '''and '''getter method '''for '''department.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| In this way, the '''Manager class '''inherits the members of '''Employee class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| This way of extending one '''class '''from another is called '''single inheritance.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''class TestEmployee.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public class TestEmployee {'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| I have also created another '''class '''named '''TestEmployee.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight '''object '''of the '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public static void main(String&amp;lt;nowiki&amp;gt;[] &amp;lt;/nowiki&amp;gt;args) {'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Manager manager = new Manager();'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Inside the '''main method, '''we will create the '''object '''of the '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So inside the '''main method''', type &lt;br /&gt;
&lt;br /&gt;
'''Manager manager ''equal to''''' '''new Manager parentheses'''.''' '''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''manager.setName(&amp;quot;Nikkita Dinesh&amp;quot;);'''&lt;br /&gt;
&lt;br /&gt;
'''manager.setEmail(&amp;quot;[mailto:abc@gmail.com abc][mailto:abc@gmail.com @][mailto:abc@gmail.com gmail][mailto:abc@gmail.com .][mailto:abc@gmail.com com]&amp;quot;);'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''manager.setDepartment(“Accounts”);'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Next, we will call the '''setter methods '''of the '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type, &lt;br /&gt;
&lt;br /&gt;
'''manager ''dot ''setName ''within brackets and double quotes ''Nikkita Dinesh ''semicolon.'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then type, &lt;br /&gt;
&lt;br /&gt;
'''manager ''dot ''setEmail ''within brackets and double quotes ''[mailto:abc@gmail.com abc][mailto:abc@gmail.com @][mailto:abc@gmail.com gmail][mailto:abc@gmail.com .][mailto:abc@gmail.com com] ''semicolon.'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then type, &lt;br /&gt;
&lt;br /&gt;
'''manager ''dot ''setDepartment ''within brackets and double quotes ''Accounts ''semicolon.'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use any '''name, emailaddress''' and '''department'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''System.out.println(manager.getDetails());'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, let us call the '''getDetails() method '''using the '''Manager object.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So, type &lt;br /&gt;
&lt;br /&gt;
'''System.out.println ''within brackets ''manager ''dot ''getDetails ''parentheses'''''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Run the program.&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, let us run the program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the output&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Name: Nikkita Dinesh'''&lt;br /&gt;
&lt;br /&gt;
'''Email: abc@gmail.com'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| We can see that we get the '''output '''as ''':'''&lt;br /&gt;
&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;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''println statement '''in '''TestEmployee class.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Here, the '''object '''of '''Manager class '''calls the '''getDetails() method.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Come to the '''Manager class.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, come to the '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Point that there is no '''getDetails() method.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| We can see that there is no '''getDetails() method '''here.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''Manager class.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| But, we still got the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is because, the '''Manager class extends '''the '''Employee class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''Manager class '''automatically '''inherits '''the '''variables '''and '''methods '''of the '''Employee class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''getDetails() method '''in the '''Employee class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight the '''return statement.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| So it checks in the '''parent class '''which is '''Employee.'''&lt;br /&gt;
&lt;br /&gt;
Let us come to the '''Employee class.'''&lt;br /&gt;
&lt;br /&gt;
It finds the '''getDetails() method '''here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we have not returned the '''department.'''&lt;br /&gt;
&lt;br /&gt;
As a result, it did not print the '''department '''in the '''output.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Change '''getDetails method '''to '''private.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, let us change the '''getDetails method '''here''' '''to '''private.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Point to the '''error.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| We can see that we get a compilation error in the '''TestEmployee class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| It says '''The method getDetails() from the type Employee is not visible.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| This means that '''getDetails() method '''cannot be accessed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Come to the '''Employee class. '''Highlight '''getDetails() method.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| This is because we have declared '''getDetails() method '''as '''private.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Slide 6'''&lt;br /&gt;
&lt;br /&gt;
'''Private members in a superclass'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| * A '''subclass''' does not inherit the private members of its '''superclass'''.&lt;br /&gt;
* '''Subclass '''cannot directly access the private members of the '''superclass.'''&lt;br /&gt;
* However, the superclass can have public or protected methods.&lt;br /&gt;
* These methods can access its private fields.&lt;br /&gt;
* Then the subclass can also access the private fields through these methods.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Change the '''getDetails() method '''from '''private '''to '''public.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| So, let us change it back to '''public.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, let us include '''method getDetails '''in the '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Type&lt;br /&gt;
&lt;br /&gt;
'''public String getDetails() '''&lt;br /&gt;
&lt;br /&gt;
'''{'''&lt;br /&gt;
&lt;br /&gt;
'''return ( &amp;quot;Name: &amp;quot; + getName() + &amp;quot;\n&amp;quot; + &amp;quot;Email: &amp;quot; +getEmail()+&amp;quot;\n&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''+&amp;quot;Manager of: &amp;quot; + getDepartment());'''&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| This '''method '''will return the '''name, email_address '''and '''department.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type, &lt;br /&gt;
&lt;br /&gt;
'''public String getDetails ''parentheses.'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside the method we will return '''name, email''' and '''department'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So type'' ''&lt;br /&gt;
&lt;br /&gt;
'''return “Name:” ''plus ''getName() ''plus ''“Email:” ''plus ''getEmail() ''plus ''“Manager of:” ''plus ''getDepartment() '''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''method getDetails '''in both '''Employee '''and '''Manager class.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Note that now, we have the '''method getDetails '''in both '''Employee '''and '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the '''method declaration '''in both the '''classes.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''public String getDetails() '''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| The '''name, return type '''and '''argument list '''of the''' method '''is same in both the '''classes.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Slide 7'''&lt;br /&gt;
&lt;br /&gt;
'''Method overriding'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| A''' method '''in the '''subclass '''is said to '''override '''the '''method '''in the '''parent class '''if:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''return type'''&lt;br /&gt;
* '''argument list'''&lt;br /&gt;
&lt;br /&gt;
matches exactly.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Come back to the '''IDE.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, let us come back to the '''IDE.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Come back to the '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Type '''@Override.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Before, the '''getDetails() method '''type '''@Override.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is an '''override''' '''annotation.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It''' '''indicates that a method is intended to '''override''' a '''method''' in '''superclass'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, let us see what an '''annotation '''is.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Slide 8'''&lt;br /&gt;
&lt;br /&gt;
'''Annotation'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Annotations:'''&lt;br /&gt;
&lt;br /&gt;
* start with at sign character(@)&lt;br /&gt;
* provide data about a program &lt;br /&gt;
* have no direct effect on the operation of the code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Slide 9'''&lt;br /&gt;
&lt;br /&gt;
'''@Override Annotation'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| If a '''method '''is '''annotated '''with '''@Override compiler '''generates '''error message '''if:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* the''' method''' does '''override''' a '''method''' declared in a '''superclass'''. &lt;br /&gt;
* the '''method signature '''is different in its '''superclass.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Come back to the '''IDE.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Highlight the '''annotation.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, let us come back to the '''IDE.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Come back to the '''Manager class.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The '''at sign character '''indicates the compiler that what follows is an '''annotation.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here, it shows that the '''getDetails method '''is '''overridden.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Come to the '''TestEmployee class.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Let us come to the '''TestEmployee class.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Right click on '''TestEmployee'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, let us '''run '''the '''program.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For that, right click on '''TestEmployee.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Click on '''Run As.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Then click on '''Run As.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Click on '''Java Application.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Click on '''Java Application.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Name: Nikkita Dinesh'''&lt;br /&gt;
&lt;br /&gt;
'''Email:[mailto:abc@gmail.com abc][mailto:abc@gmail.com @][mailto:abc@gmail.com gmail][mailto:abc@gmail.com .][mailto:abc@gmail.com com]&lt;br /&gt;
&lt;br /&gt;
'''Manager of:Accounts'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| We get the '''output''' as follows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Name: Nikkita Dinesh'''&lt;br /&gt;
&lt;br /&gt;
'''Email:[mailto:abc@gmail.com abc][mailto:abc@gmail.com @][mailto:abc@gmail.com gmail][mailto:abc@gmail.com .][mailto:abc@gmail.com com]&lt;br /&gt;
&lt;br /&gt;
'''Manager of:Accounts'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Here, the '''object '''of the '''Manager class '''calls the '''getDetails() method.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But this time, it calls the '''method of Manager class itself.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this way, we override the '''method''' of the '''parent class '''by the '''subclass'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Slide 10'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Let us summarize.&lt;br /&gt;
&lt;br /&gt;
In this tutorial we have learnt about&lt;br /&gt;
&lt;br /&gt;
* '''Subclassing'''&lt;br /&gt;
* '''extends '''keyword&lt;br /&gt;
* '''Overriding'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Slide 11'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| As an '''assignment'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a '''class Vehicle '''which has a method '''run '''that prints “'''The Vehicle is running.”'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also create a class '''Bike '''which has a method '''run '''that prints “'''The Bike is running safely.”'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output should be “'''The Bike is running safely.”'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| '''Slide 12'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''About Spoken Tutorial Project'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| is this fine check?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To know more about the Spoken Tutorial Project&lt;br /&gt;
&lt;br /&gt;
- Watch the video available at the following link&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- It summarizes the Spoken Tutorial project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- If you do not have good bandwidth, you can download and watch itModifiedok do it in previous tutorial as wellTo know more about the Spoken Tutorial Project&lt;br /&gt;
&lt;br /&gt;
* Watch the video available at the following link&lt;br /&gt;
&lt;br /&gt;
* It summarizes the Spoken Tutorial project&lt;br /&gt;
* If you do not have good bandwidth, you can download and watch it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| '''Slide 13'''&lt;br /&gt;
&lt;br /&gt;
'''Spoken Tutorial Workshop'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| The Spoken Tutorial Project Team&lt;br /&gt;
&lt;br /&gt;
* Conducts workshops using spoken tutorials&lt;br /&gt;
* Gives certificates for those who pass an online test&lt;br /&gt;
* For more details, please write to contact at spoken hyphen tutorial dot org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Slide 14'''&lt;br /&gt;
&lt;br /&gt;
'''Acknowledgement'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.106cm;&amp;quot;| Spoken Tutorial Project is a part of the Talk to a Teacher project&lt;br /&gt;
&lt;br /&gt;
* It is supported by the National Mission on Education through ICT, MHRD, Government of India&lt;br /&gt;
&lt;br /&gt;
* More information on this Mission is available at&lt;br /&gt;
&lt;br /&gt;
* http://spoken-tutorial.org/NMEICT- Intro&lt;br /&gt;
&lt;br /&gt;
This is '''Arya Ratish '''from '''IIT Bombay '''signing off.&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Arya Ratish</name></author>	</entry>

	</feed>