Skip to main content

Method Overloading-1

Method Overloading:-Method overloading or function overloading is another great feature of java which is very helpful for the application development, in this feature a single function performed multiple task. In method overloading function name must be same and parameter must be different. For function overloading there is no rule for return type so return type may be different.
If a function perform more than one task, called overloaded function in function overloading function signature must be different. Function overloading is done on the basis of reference and function resolution or function binding is done at the compile time.
Function overloading also known as compile time polymorphism or static binding or early binding.

 Example1:-

class Student
{
void disp()
{
System.out.println("This is zero argument disp");
}
void disp(int a)
{
System.out.println("This is int argument disp");
}
void disp(char a)
{
System.out.println("This is char argument disp");
}
}
class Test
{
public static void main(String[]args)
{
Student s=new Student();
s.disp();
s.disp(100);
s.disp('A');
}
}

Output:-

C:\JAVATECH>javac Test.java
C:\JAVATECH>java Test
This is zero argument disp
This is int argument disp
This is char argument disp

Example2:-

class Student
{
void disp(int a,long b)
{
System.out.println("This is Two argument disp");
}
void disp(long a,int b)
{
System.out.println("This is Two argument disp");
}
}
class Test
{
public static void main(String[]args)
{
Student s=new Student();
s.disp(100,200);
s.disp(100,200);
}
}

Output:-

C:\JAVATECH>javac Test.java
Test.java:21: error: reference to disp is ambiguous
s.disp(100,200);
 ^
  both method disp(int,long) in Student and method disp(long,int) in Student mat
ch
Test.java:22: error: reference to disp is ambiguous
s.disp(100,200);
 ^
  both method disp(int,long) in Student and method disp(long,int) in Student mat
ch
2 errors


Example3:-


class Student
{
void disp(int a,long b)
{
System.out.println("This is Two[int,long] argument disp");
}
void disp(long a,int b)
{
System.out.println("This is Two[long,int] argument disp");
}
}
class Test
{
public static void main(String[]args)
{
Student s=new Student();
s.disp(100l,200);
s.disp(100,200l);
}
}

Output:-

C:\JAVATECH>javac Test.java
C:\JAVATECH>java Test
This is Two[long,int] argument disp
This is Two[int,long] argument disp


Example4:-


class Student
{
void disp(int a,long b)
{
System.out.println("This is Two[int,long] argument disp");
}
void disp(long a,int b)
{
System.out.println("This is Two[long,int] argument disp");
}

}
class Test
{
public static void main(String[]args)
{
Student s=new Student();
s.disp(100L,200);
s.disp(100,200L);
}
}

Output:-

C:\JAVATECH>javac Test.java
C:\JAVATECH>java Test
This is Two[long,int] argument disp
This is Two[int,long] argument disp

Example5:-


class Student
{
void disp(int a,long b)
{
System.out.println("This is Two[int,long] argument disp");
}
void disp(long a,int b)
{
System.out.println("This is Two[long,int] argument disp");
}
}
class Test
{
public static void main(String[]args)
{
Student s=new Student();
s.disp(100,200);
s.disp(100,200L);
}
}

Output:-

C:\JAVATECH>javac Test.java
Test.java:18: error: reference to disp is ambiguous
s.disp(100,200);
 ^
  both method disp(int,long) in Student and method disp(long,int) in Student mat
ch

1 error

Comments

Popular posts from this blog

Inheritance-4

Example10:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(null); System.out.println("This is sub class Zero argument constructor"); } public static void main(String[]args) { Test t=new Test(); } } Output:- C:\JAVATECH>javac Test.java C:\JAVATECH>java Test This is super class One argument constructor This is sub class Zero argument constructor Example11:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(); super(null); System.out.println("This is su...

Regarding class files

Class files:- Regarding class file or dot class file also known as byte code of class, in a java programming language we can use any number of classes in our program. After compilation all classes convert into individual   .class   file. Example:- class A { } class B { } class C { } class Student { public static void main(String[]args) { System.out.println("Well-come to my java blog"); } } We can save above program to any   classname.java   or we can use any other   name.java,   there is no compulsion for java file name. But recommended to save by that class name which having main method. I saved the above file to   Student.java   name .   Before compilation my   C:\JAVATECH   folder contain only one java file. Student.java For  compilation. C:\JAVATECH>javac  Student.java After compilation   my   C:\JAVATECH   folder contains five files, on...

inheritance

INHERITANCE:- Inheritance is the process of code re-usability, using this property software or applications can develop in less time or can develop rapidly. Inheritance increases the readability of code and decrease redundancy or repetition of code or reduces size of code. Use of previously developed code in future any number of times is called inheritance. Through inheritance variables and methods of class can inherited. Types of Inheritance:- 1)         Single or Single level inheritance 2)         Multilevel inheritance 3)         Hierarchical inheritance Java does not support to multiple inheritance. Single or single level inheritance:- In a single inheritance a class is inherited by a single class. In a single or single level inheritance a sub class having only one super class directly or indirectly. Syntax: -        class Subclass ex...