overload vs override in java

Java also support function Overloading and function overriding:

  1. Overloading
    • have the same function name
    • exit in the same class
    • difference signature (type or number parameter)
    • allow more than definition for a function name

Example :

// www.learning2night.com
public class SumData {
	
	static int sum(int a,int b){
		return a+b;
	}
	static float sum(float a, float b){
		return a+b;
	}
	
	static double sum(double a, double b){
		return a+b;
	}

	public static void main(String[] args) {
		
		System.out.println("Sum int :"+sum(1,2));
		System.out.println("float  int :"+sum(1.0,2.0));
		System.out.println("double int :"+sum(1.0D,2.0D));
	}

}

 

Output:

Sum int :3
float  int :3.0
double int :3.0
  1. Overriding
    • have the same function name and signature
    • exit in inheritance
    • must be done in class
    • child class override function of parent(s) class

Example:

public class Person {

	private String fname;
	public String lname;
	public Person(String fname, String lname) {
		this.fname = fname;
		this.lname = lname;
	}
	public String getFname() {
		return fname;
	}
	public void setFname(String fname) {
		this.fname = fname;
	}
	@Override
	public String toString() {
		return "fname=" + this.fname + ", lname=" + this.lname ;
	}
        public void display(){
          System.out.print("display in super class");

        }

	
	
}
public class Student extends Person {
	private double salary;
	public Student(String fname, String lname) {
		super(fname, lname);// call super class constructor 
		System.out.println("this sub class Constructor ");
	}
	public Student(String fname, String lname, double salary) {
		super(fname, lname);// call super class constructor
		this.salary = salary;
	}
// override method
	@Override
	public String toString() {
		// super.toString() invoke super class method
		return super.toString()+"salary=" + this.salary ;
	}
//  override method 
	public void display() {
		System.out.println("display in child class");
		
 
	}
 
	
	
}
public class Test {

	public static void main(String[] args) {
		Student st = new Student("Learning","Tonight",100);
		
		st.display();

	}

}

Output:

display in child class

 

Add a Comment

Your email address will not be published. Required fields are marked *