Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #34268
| From | Eric Sosman <esosman@comcast-dot-net.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: When to use dynamic binding over dynamic dispatch? |
| Date | 2016-05-08 16:44 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <ngo87v$c68$1@dont-email.me> (permalink) |
| References | (1 earlier) <ngbitr$70c$1@gioia.aioe.org> <dp8if4Fqm9cU1@mid.individual.net> <ngnb33$1rif$1@gioia.aioe.org> <ngnctb$pp9$1@dont-email.me> <ngniup$8u0$1@gioia.aioe.org> |
On 5/8/2016 10:37 AM, Arne Vajhøj wrote:
> On 5/8/2016 8:57 AM, Eric Sosman wrote:
>> On 5/8/2016 8:23 AM, Arne Vajhøj wrote:
>>> On 5/8/2016 6:24 AM, Robert Klemme wrote:
>>>> On 04.05.2016 03:23, Arne Vajhøj wrote:
>>>>> All methods unless declared static or final are virtual in Java,
>>>>> so dynamic dispatch is used all the time.
>>>>
>>>> Methods declared as "final" are virtual as well.
>>>
>>> Given that:
>>>
>>> virtual method = method that can be overridden
>>> final method = method that can not be overridden
Why is this a "given?" Who gave it?
>>> then how can it be?
>>
>> class Super {
>> public void method() {}
>> }
>>
>> class Sub extends Super {
>> public final void method() {}
>> }
>>
>> ...
>>
>> Super obj = new Sub();
>> obj.method();
>
> As a starting point I would not call Sub.method
> a virtual method due to above definition.
Let's try another example, if you dislike my first one:
class Worker implements Runnable {
@Override
public final void run() {}
}
The Worker#run method is quite obviously final, and not
overridable. Do you maintain that it isn't virtual? If
we follow the above with
new Thread(new Worker()).start();
... should the thread's invocation of Worker#run use something
other than virtual invocation?
--
esosman@comcast-dot-net.invalid
"Don't be afraid of work. Make work afraid of you." -- TLM
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
When to use dynamic binding over dynamic dispatch? cdalten@gmail.com - 2016-05-02 18:08 -0700
Re: When to use dynamic binding over dynamic dispatch? Sebastian <news@seyweiler.dyndns.org> - 2016-05-03 20:47 +0200
Re: When to use dynamic binding over dynamic dispatch? Lew <lewbloch@gmail.com> - 2016-05-03 12:14 -0700
Re: When to use dynamic binding over dynamic dispatch? Arne Vajhøj <arne@vajhoej.dk> - 2016-05-03 21:23 -0400
Re: When to use dynamic binding over dynamic dispatch? Martin Gregorie <martin@address-in-sig.invalid> - 2016-05-04 10:48 +0000
Re: When to use dynamic binding over dynamic dispatch? Robert Klemme <shortcutter@googlemail.com> - 2016-05-08 12:24 +0200
Re: When to use dynamic binding over dynamic dispatch? Arne Vajhøj <arne@vajhoej.dk> - 2016-05-08 08:23 -0400
Re: When to use dynamic binding over dynamic dispatch? Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-05-08 08:57 -0400
Re: When to use dynamic binding over dynamic dispatch? Arne Vajhøj <arne@vajhoej.dk> - 2016-05-08 10:37 -0400
Re: When to use dynamic binding over dynamic dispatch? Robert Klemme <shortcutter@googlemail.com> - 2016-05-08 22:30 +0200
Re: When to use dynamic binding over dynamic dispatch? Arne Vajhøj <arne@vajhoej.dk> - 2016-05-08 23:08 -0400
Re: When to use dynamic binding over dynamic dispatch? Robert Klemme <shortcutter@googlemail.com> - 2016-05-09 08:16 +0200
Re: When to use dynamic binding over dynamic dispatch? Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-05-08 16:44 -0400
Re: When to use dynamic binding over dynamic dispatch? Arne Vajhøj <arne@vajhoej.dk> - 2016-05-08 23:16 -0400
Re: When to use dynamic binding over dynamic dispatch? Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-05-09 00:39 -0400
csiph-web