how can i run this constructor code in android studio?

Viewed 51

This is the main class

package com.example.coursereg;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public static void main(String[] args) {
        Shirt s = new Shirt();
        s.putOn();
    }
}

This is the class containing the constructor

package com.example.coursereg;

public class Shirt {

    public static void putOn(){

        System.out.println("The shirt is on!");
    }
    public static void takeOff(){

        System.out.println("The shirt is off!");
    }
}
2 Answers

main() method of Java do not work in Android as it work in Java app's. If you want to call Shirt() constructor call in inside onCreate()

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Shirt s = new Shirt();
s.putOn();
}

when the app launches the Activity, there is no constructor. Instead there is a there is a chain of methods which gets called. It's called as lifecycle methods. Which starts from onCreate() method.

put your constructor code in it like

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Shirt s = new Shirt();
        s.putOn();
    }
}
Related