thread program

Posted on 2011-04-26
Last Modified: 2012-05-11
>>What will happen when you attempt to compile and run this code?

public class Runt implements Runnable{
public static void main(String argv[]){
        Runt r = new Runt();
        Thread t = new Thread(r);

        public void start(){
        for(int i=0;i<100;i++)
1) Compilation and output of count from 0 to 99
2) Compilation and no output
3) Compile time error: class Runt is an abstract class. It can't be instantiated.
4) Compile time error, method start cannot be called directly


3) Compile time error: class Runt is an abstract class. It can't be instantiated.

The class implements Runnable but does not define the run method.

I have not understood above question and answer clearly from link

>>class Runt is an abstract class

Runt never mentioned as abstract any where.

Any ideas, resources, links, sample code highly appreciated. thanks in advance.
Question by:gudii9
    LVL 47

    Expert Comment

    Runt declares that it implements Runnable.

    If so, it should implement
    public void run() method

    If it does not  (like in this code) it will immedaitely generate compiler error
    LVL 47

    Accepted Solution


    About "abstract" it is diagnostic message,
    as compiler saw "implements Runnable" it added
    public void run()
    to the list of methods which need to be implemented

    This list could also have some methods which could have been
    there becuaes the class coul have extended some abstract class
    Compiler makes common pool of all methods which need to be implemented
    Then it checks those whiich are indeed implemented aginst those which need to
    be implemeneted - abnd discovers
    that some are not - so it makes conclusion that
    this class cannot be instantiated as it has some methods not implemeneted
    I think it is just wording of error message taht may be a little bit confusing
    but the point is the same
    public void run()
    is not implemented

    LVL 92

    Assisted Solution

    3) is actually only partly correct in that it won't compile.
    "class Runt is an abstract class. It can't be instantiated." - that is not the reason, you would only get that error if Runt was declared abstract (which its not)
    The compiler error will be "The type Runt must implement the inherited abstract method"

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Join & Write a Comment

    Suggested Solutions

    Title # Comments Views Activity
    maxMirror challenge 10 70
    classnotfoundexception 3 30
    sumHeights2  challenge 7 52
    endX challenge 2 33
    Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
    International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
    Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
    Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…

    745 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    17 Experts available now in Live!

    Get 1:1 Help Now