Q:

Java find output programs (Inheritance) | set 1

belongs to collection: Java find output programs

0

Find the output of Java programs | Inheritance | Set 1: Enhance the knowledge of Java Inheritance concepts by solving and finding the output of some Java programs.

Question 1:

class Base {
  public Base() {
    System.out.println("Base ctor called");
  }
  public void Method1() {
    System.out.println("Method1() called");
  }
}

class Derived: Base {
  public Derived() {
    System.out.println("Derived ctor called");
  }
  public void Method2() {
    System.out.println("Method2() called");
  }
}

public class InheritEx {
  public static void main(String[] args) {
    Derived D = new Derived();

    D.Method1();
    D.Method2();
  }
}

Question 2:

class Base {
  public Base() {
    System.out.println("Base ctor called");
  }
  public void Method1() {
    System.out.println("Method1() called");
  }
}

class Derived extends Base {
  public Derived() {
    System.out.println("Derived ctor called");
  }
  public void Method2() {
    System.out.println("Method2() called");
  }
}

public class InheritEx {
  public static void main(String[] args) {
    Derived D = new Derived();

    D.Method1();
    D.Method2();
  }
}

Question 3:

class Base {
  protected Base() {
    System.out.println("Base ctor called");
  }
  protected void Method1() {
    System.out.println("Method1() called");
  }
}

class Derived extends Base {
  public Derived() {
    System.out.println("Derived ctor called");
  }
  public void Method2() {
    System.out.println("Method2() called");
  }
}

public class InheritEx {
  public static void main(String[] args) {
    Derived D = new Derived();

    D.Method1();
    D.Method2();
  }
}

Question 4:

class Base {
  Base() {
    System.out.println("Base ctor called");
  }
  ~Base() {
    System.out.println("Base dtor called");
  }
  void Method1() {
    System.out.println("Method1() called");
  }
}

class Derived extends Base {
  Derived() {
    System.out.println("Derived ctor called");
  }
  ~Derived() {
    System.out.println("Derived dtor called");
  }
  void Method2() {
    System.out.println("Method2() called");
  }
}

public class InheritEx {
  public static void main(String[] args) {
    Derived D = new Derived();

    D.Method1();
    D.Method2();
  }
}

Question 5:

class Base {
  private Base() {
    System.out.println("Base ctor called");
  }

  void Method1() {
    System.out.println("Method1() called");
  }
}

class Derived1 extends Base {
  Derived1() {
    System.out.println("Derived ctor called");
  }

  void Method2() {
    System.out.println("Method2() called");
  }
}

class Derived2 extends Base {
  Derived2() {
    System.out.println("Derived2 ctor called");
  }

  void Method3() {
    System.out.println("Method3() called");
  }
}

public class InheritEx {
  public static void main(String[] args) {
    Derived2 D = new Derived2();

    D.Method1();
    D.Method3();
  }
}

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Answer Question 1:

Output:

/InheritEx.java:10: error: '{' expected
class Derived: Base {
             ^
1 error

Explanation:

The above program will generate syntax error because we cannot use a colon ":" operator for an inheritance, we need to use extends keyword for inheritance in Java.

Answer Question 2:

Output:

Base ctor called
Derived ctor called
Method1() called
Method2() called

Explanation:

In the above program, we created three classes Base, Derived, and InheritEx. The Base class contains a constructor and a method Method1(). The Derived class contains a constructor and a method Method2.

Here, we inherited Base class into Derived class using extends keyword.

Now look to the main() method of InheritEx class. Here, we created the object of Derived class then here constructor of Base class will be called before calling the constructor of Derived class, and then Method1() and Method2() will be called respectively.

Answer Question 3:

Output:

Base ctor called
Derived ctor called
Method1() called
Method2() called

Explanation:

In the above program, we created three classes Base, Derived, and InheritEx. The Base class contains a constructor and a method Method1(). Here, we defined both constructor and Method1() with a protected modifier.

The Derived class contains a constructor and a method Method2.Here, we inherited Base class into Derived class using extends keyword.

Now look to the main() method of the InheritEx class - Here, we created the object of Derived class then here constructor of Base class will be called before calling the constructor of Derived class, and then Method1() and Method2() will be called respectively.

Answer Question 4:

Output:

/InheritEx.java:5: error: illegal start of type
  ~Base() {
  ^
/InheritEx.java:17: error: illegal start of type
  ~Derived() {
  ^
2 errors

Explanation:

The above program will generate syntax errors. Here, we defined destructor in Base and Derived class. But Java does not support destructors.

Answer Question 5:

Output:

/InheritEx.java:12: error: Base() has private access in Base
  Derived1() {
             ^
/InheritEx.java:22: error: Base() has private access in Base
  Derived2() {
             ^
2 errors

Explanation:

The above program will generate compile-time errors because we defined a private constructor in the Base class that cannot be accessed in InheritEx class because we created the object of Derived2 class in the InheritEx class.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Java find output programs

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
Java find output programs (Inheritance) | set 2... >>
<< Java find output programs (Constructor & Destructo...