Error » Certification & Programming center Error !! » Programming tutorials » Extending Classes in Java

Programming tutorials All Knowledge Info and links to posted here

Post New Thread Reply
  Extending Classes in Java
LinkBack Thread Tools Display Modes
Old 21-Dec-2006, 02:00 AM   #1 (permalink)
Administrator
 
Anilrgowda's Avatar

Posts: 18,715
Join Date: Jan 2006
Rep Power: 10 Anilrgowda is on a distinguished road

IM:
Default Extending Classes in Java

Extending a class does what it says... it takes a class and applies its methods and constructor to another class. Extending classes is a powerful way of creating efficient programs.
What this means is that when a class extends to another, the class that receives the extension can use all methods and constructors of the class that extends.
For a class to receive an extension you must use the following class header:
public class ClassName extends ClassExtender
First to establish some terminology, the ClassName is a sub class and the ClassExtender is a super class.
In java, unlike C programming, a class can receive only one extension from another class.

In the example, ClassName can access all of ClassExtender's constructors and methods in this case. If ClassExtender had a method called q, an instance (object) of ClassName could execute the process.
It becomes more interesting if ClassName also had a method of the name q. If you called a method in with both the super class and the sub class, the sub class' method would execute.
The opposite situation, where the sub class contains the method and the super class doesn't is complicated also. If a sub class object was cast into the subclass variable, it would be able to execute the method specific only to the subclass.
But if the object was of a subclass cast to a super class, the object couldn't execute the classes method,
Case 1
ClassName objectQ = new ClassName();
aMethod(); // aMethod is a method only to the ClassName class
// This would work fine
Case 2
ClassExtender objectQ = new ClassName();
aMethod(); // aMethod is a method only to the ClassName class
// This would NOT work
To fix this, use the following
ClassExtender objectQ = new ClassName();
((ClassName)objectQ). aMethod(); // aMethod is a method only to the ClassName class
// This would work
If you want to access a super class' method, its simply super.method()
Also, when you create a constructor of a sub class, you should always have a line at the top of the constructor with the following.
super();
Anilrgowda is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Reply With Quote
   


   
Post New Thread Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Extending the Windows Vista Trial Period Anilrgowda Microsoft windows vista error 0 15-Aug-2007 11:09 PM
Extending Windows 2003 Partition ps3cheats Microsoft windows 2003 error 1 15-Mar-2007 01:47 AM
The Javalog.txt file is created in the Windows\Java folder when Java logging is enabl Anilrgowda Microsoft windows vista error 0 29-Jan-2007 10:09 AM
Java: Wrapper Classes Admin Programming tutorials 0 03-Dec-2006 11:34 PM
C++: Template Classes Admin Programming tutorials 0 03-Dec-2006 11:23 PM


All times are GMT -8. The time now is 10:49 AM.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0

DMCA Policy

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228