0

When I make a new Android Application Project I see the automatic generate MainActivity.java file.

Why was the "OnCreate" protected

I remember this was private. I don't understand. why made this?

For example this:

public class MainActivity extends Activity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
Abhinav Singh Maurya
  • 3,313
  • 8
  • 33
  • 51
Anzy
  • 17
  • 3

1 Answers1

2

It never was private, if it was private then how you were able to Override it?? You might have seen it public because subclass can not reduce the visibility of a method. Read this question for clarification. Why can't you reduce the visibility of a method in a Java subclass?

Community
  • 1
  • 1
M-Wajeeh
  • 17,204
  • 10
  • 66
  • 103