What will happen if you try to compile and run this program?

class Box {
    int b,w;
    void Box(int b, int w) {
         this.b = b;  
         this.w = w;

public class MyBox extends Box {
    MyBox() {
         super(10, 15);
         System.out.println(b + "," + w);

     static public void main(String args[]) {
           MyBox box = new MyBox();
The program does not compile because there is no matching constructor in the base class to call super(10,15) of the subclass constructor.
void Box (int b, int w) is a method and not a constructor because of specified return type.
In the description of the method main() there is no error: static and public can appear in any order.

Слідкуй за CodeGalaxy

Мобільний додаток Beta

Get it on Google Play
Зворотній Зв’язок
Продовжуйте вивчати
тести з Java
Зареєструйся Зараз
або Підпишись на майбутні тести