Skip to main content

Java Inheritance II HackerRank solution with explanation

Java Inheritance 2 HackerRank

Problem Description :

Write the following code in your editor below:

  1. A class named Arithmetic with a method named add that takes 2 integers as parameters and returns an integer denoting their sum.
  2. A class named Adder that inherits from a superclass named Arithmetic.  

Input Format :

You are not responsible for reading any input from stdin; a locked code stub will test your submission by calling the add method on an Adder object and passing it 2 integer parameters.

Output Format :

You are not responsible for printing anything to stdout. Your add method must return the sum of its parameters.  

See full Problem Description :

Solution Explanation :

In this problem, simply you have to create two new class : Arithmetic and Adder.

Arithmetic class contains only one method : add. add method have two integer parameters and return addition of two parameters with int value.

Adder class extends Arithmetic class and does not contains own method.

Lets see solution in code.

Solution : 

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

 

//Write your code here
class Arithmetic {
    public int add(int num1, int num2) {
        return num1 + num2;
    }
}

class Adder extends Arithmetic {
    
}


public class Solution{
    public static void main(String []args){
        // Create a new Adder object
        Adder a = new Adder();
        
        // Print the name of the superclass on a new line
        System.out.println("My superclass is: " + a.getClass().getSuperclass().getName());   
        
        // Print the result of 3 calls to Adder's `add(int,int)` method as 3 space-separated integers:
        System.out.print(a.add(10,32) + " " + a.add(10,3) + " " + a.add(10,10) + "\n");
     }
}

Output :

My superclass is: Arithmetic

42 13 20

Explanation :

  • In main method, there is Adder class object (Adder a = new Adder()). 
  • In first print statement, it is printing our super class name using Adder class object "a".
  • In second print statement, it is calling our add method using Adder class object. Since we are extending Arithmetic class so we can get all properties of Arithmetic class in Adder class and use all properties of Arithmetic class. 
  • So when code calls a.add() method, Adder class does not have any own add() method so it is calling Arithmetic class add() method and return addition of two parameter.


Happy Coding.

See other HackerRank and LeetCode probelm and Solution with explanation :

Comments

Popular posts from this blog

Queen's Attack II HackerRank Solution in Java with Explanation

Queen's Attack II Problem's Solution in Java (Chessboard Problem)   Problem Description : You will be given a square chess board with one queen and a number of obstacles placed on it. Determine how many squares the queen can attack.  A queen is standing on an n * n chessboard. The chess board's rows are numbered from 1 to n, going from bottom to top. Its columns are numbered from 1 to n, going from left to right. Each square is referenced by a tuple, (r, c), describing the row r and column c, where the square is located. The queen is standing at position (r_q, c_q). In a single move, queen can attack any square in any of the eight directions The queen can move: Horizontally (left, right) Vertically (up, down) Diagonally (four directions: up-left, up-right, down-left, down-right) The queen can move any number of squares in any of these directions, but it cannot move through obstacles. Input Format : n : The size of the chessboard ( n x n ). k : The number of obstacles...

Simple Text Editor HackerRank Solution in Java with Explanation

Simple Text Editor HackerRank Solution in Java with Explanation Problem Description : Implement a simple text editor. The editor initially contains an empty string S. Perform Q operations of the following 4 types: append (W) - Append string W to the end of S. delete (k) - Delete the last K characters of S. print (k) - Print the kth character of S. undo () - Undo the last (not previously undone) operation of type 1 or 2, reverting S to the state it was in prior to that operation. Example : Input : S = "abcde" Operations = ["1 fg", "3 6", "2 5", "4", "3 7", "4", "3 4"] index   S          ops[index]    explanation -----   ------     ----------    ----------- 0       abcde      1 fg          append fg 1       abcdefg    3 6        ...