Previous Thread
Next Thread
Print Thread
Rate Thread
Joined: May 2004
Posts: 4
J
javafan Offline OP
Junior Member
OP Offline
Junior Member
J
Joined: May 2004
Posts: 4
http://www.nomorepasting.com/paste.php?pasteID=12689&noLineNums=1&Seen=TRUE

there is my completed program, i am using JBuilder X, have been programming for a while; so the code is done right yet the java compiler complains that getPctBonus() is not apart of class Employee can be reached at yahoo sn nummiweld

Joined: Mar 2002
Posts: 1,136
P
UGN Elite Poster
Offline
UGN Elite Poster
P
Joined: Mar 2002
Posts: 1,136
That's because your code isn't done right.

You asked the question, but apparently didn't look at the information. The compiler complains that getPctBonus() isn't a part of class Employee. A two second look at the code shows that it's in fact not a part of Employee, but is in all the subclasses.

Take that method out of all the subclasses and put it in Employee. Then you won't have any problems.

Joined: May 2004
Posts: 4
J
javafan Offline OP
Junior Member
OP Offline
Junior Member
J
Joined: May 2004
Posts: 4
method getPctBonus() isnt supposed to be a part of class Employee, i am to coerce the method getPctBonus() to class Employee using downcasting, which happens to be the subject of my heading.

i left out getPctBonus() from Employee on purpose.
did you bother to read the instructions?
here it is-


In the code below, employee is an array of Employee references containing objects of different Employee subclasses.

Note that the compiler treats the computeBonus ( ) call as a call to a method within an Employee object. Since Employee class provides an abstract method computeBonus( ), the code will compile but it will not statically bind to the method.

(Since Java provides runtime binding, the compiler will not bind the call to the computeBonus ( ) method of the Employee object. Instead at run time, JVM will bind the call to the target object�s computeBonus ( ) method which will execute. The call will execute properly because all objects of Employee subclasses provide a concrete computeBonus ( ) method.)

To access target object methods that are not present in class Employee, use down casting with explicit type coercing. Since down casting is potentially unsafe, do this within an if statement using the clause instanceof . The Java language clause instanceof checks for the type of the target object at run time. The use of clause instanceof ensures that the target object is of a specific type before type coercing it.

In the code below, the instance of clause makes sure that the target object is of a specific type (say type Worker) before type coercing it to that type.

Joined: Mar 2002
Posts: 1,136
P
UGN Elite Poster
Offline
UGN Elite Poster
P
Joined: Mar 2002
Posts: 1,136
We went over this online.

Anyway, if a method doesn't exist in the Employee class, you can't invoke that method using an Employee reference. You'd have to use one of the subclasses.
Code
Employee ceo = new Exec("pergesu");

/* This line won't compile
ceo.getPctBonus();
*/

// Cast it to an Exec object, and invoke the method
((Exec) ceo).getPctBonus();
Put simply, if a method doesn't exist in a class definition, you can't call it. You have to cast it to a class type that does have the method. Exactly as I showed you online, as well as above.


Link Copied to Clipboard
Member Spotlight
Posts: 30
Joined: June 2002
Forum Statistics
Forums41
Topics33,840
Posts68,858
Average Daily Posts1
Members2,176
Most Online3,253
Jan 13th, 2020
Latest Postings
Where and how do you torrent?
by danni75 - 03/01/24 05:58 AM
Animation,
by JohanKaariainen - 08/15/19 01:18 AM
Blackbeard.....
by Gremelin - 10/03/18 07:02 PM
my old account still exists!
by Crime - 08/10/18 02:47 PM
Okay WTF?
by HenryMiring - 09/27/17 01:45 AM
The History Thread...
by Gremelin - 08/11/17 12:11 PM
My friend NEEDS your HELP!
by Lena01 - 07/21/17 12:06 AM
I'm having fun with this guy.
by gabithompson730 - 07/20/17 01:50 AM
I want to upgrade my phone
by gabithompson730 - 07/20/17 01:49 AM
Doom 3
by Cyrez - 09/11/14 08:58 PM
Amazon Gift Card Generator/KeyGen?te
by Gecko666 - 08/22/14 09:21 AM
AIM scene 99-03
by lavos - 09/02/13 08:06 AM
Planetside 2
by Crime - 03/04/13 07:10 AM
Beta Testers Wanted
by Crime - 03/04/13 06:55 AM
Hello Everyone
by Gremelin - 02/12/12 06:01 PM
Tracfone ESN Generator
by Zanvin Green - 01/18/12 01:31 PM
Python 3 issue
by Testing - 12/17/11 09:28 PM
tracfone airtime
by Drache86 - 07/30/11 03:37 AM
Backdoors and the Infinite
by ZeroCoolStar - 07/10/11 03:52 AM
HackThisZIne #12 Releaseed!
by Pipat2 - 04/28/11 09:20 PM
gang wars? l33t-wars?
by Gremelin - 04/28/11 05:56 AM
Consolidate Forums
by diggin2deep - 04/21/11 10:02 AM
LAN Hacking Noob
by Gremelin - 03/12/11 12:42 AM
Top Posters
UGN Security 41,392
Gremelin 7,203
§intå× 3,255
SilentRage 1,273
Ice 1,146
pergesu 1,136
Infinite 1,041
jonconley 955
Girlie 908
unreal 860
Top Likes Received
Ghost 2
Crime 1
Ice 1
Dartur 1
Cyrez 1
Powered by UBB.threads™ PHP Forum Software 7.7.5