Fraser
Fraser

Reputation: 1521

Initialize a class instance?

I'm trying to initialize an instance of class consoleDroid with consoleDroid console = new consoleDroid();, but it throws a class, interface, or enum expected compile error. What's the right way to initialize the class?

caseSelector.java:

package com.caseselector;

import android.app.Activity;
import android.os.Bundle;

consoleDroid console = new consoleDroid();

public class caseSelector extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        console.create();
    }
}

consoleDroid.java:

package com.caseselector;

import android.view.View;
import android.widget.TextView;
import android.widget.EditText;
import android.widget.Button;

public class consoleDroid {

    private static String output;
    private Button consoleButton;
    private TextView consoleView;
    private EditText consoleInput;

    public static void create() {
    }

    public static void write(String input) {
    }

    public static void writeLine(String input) {
    }

    public static String readLine(boolean print) {
        return output;
    }
}

Upvotes: 2

Views: 11204

Answers (4)

HNHN
HNHN

Reputation: 1080

Your code is not in the class. put

consoleDroid console = new consoleDroid();

inside a class...

Upvotes: 1

Petar Minchev
Petar Minchev

Reputation: 47403

First of all, by convention classes should start with a capital letter. And the answer to your question - consoleDroid console = new consoleDroid(); is not at an appropriate place. It must be somewhere inside a class - a method or a constructor.

Upvotes: 1

david
david

Reputation: 471

Just move your instantiation down into the class body:

public class caseSelector extends Activity
{
    consoleDroid console = new consoleDroid();
    // ...
}

Btw: by convention class names should start with a capital letter.

Upvotes: 7

bragboy
bragboy

Reputation: 35572

You have to do instantiation inside a class. And Java classes look nicer if they start with Upper case letters.

public class caseSelector extends Activity
{
    consoleDroid console = new consoleDroid();

    /** Called when the activity is first created. */
    ....
}

Upvotes: 5

Related Questions