Of course, I can treat a String as a boolean. Any class can be abused by the ignorant.
But that's all beside the point. Thread isn't going to change. The bizarre use of Thread as a Runnable, though (which appears to only occur in Android), though, should be "called out" wherever it's seen. Using the excuse that the class is too confusing is a bit of the Android pot calling the Java kettle black. On Oct 23, 5:00 am, Kostya Vasilyev <[email protected]> wrote: > 23.10.2010 4:04, Bob Kerns пишет:> Because you're left with two dead birds > instead of one? > > Or a ragout made out of two pigeons and marshmallows :) Perhaps pretty, > but inedible. > > Runnable is an interface for packaging code into an object. There is > nothing about threading inherent in Runnable. > > Having Thread implement Runnable makes using as a Runnable pretty > obvious - and wrong. The entire reason for Thread class's existence is > to be able to run code on a separate thread. That's clearly not the same > as packaging code into an object, which is what Runnable does. > > So I'd say this is a case of inheritance for convenience of > implementation, which is usually considered to be a bad. But it's worse > than that, since treating Thread as a Runnable - as permitted by its > derivation - causes Thread to completely break. > > Could have been something like this: > > class Thread /* does not implement Runnable */ > { > // supply runnable to do background work > Thread(Runnable r) { > this.runnable = r; > > } > > // override worker() to do background work > Thread() { > > } > > void start () > { > // fork, call worker() > > } > > void worker() { > if (this.runnable != null) { > this.runnable.run();} > > else { > throw new IllegalStateException("Either use Thread(Runnable) or override > worker()"); > > } > } > } > > -- > Kostya Vasilyev -- WiFi Manager + pretty widget > --http://kmansoft.wordpress.com -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

