Non-virtual Methods in Java - java tutorials

non virtual methods in java


 

Ads

Tutorials   
Java final method Assert in Java Final method in java Autoboxing in Java assert In Java JDBC batch insert using Java bean class Java Singleton Pattern Java Collection API - Java Tutorials Stack Overflow - Java Tutorials End of Year Puzzle The link to the outer class,java tutorial,java tutorials Orientating Components Right to Left,java newsletter,java,tutorial Non-virtual Methods in Java - java tutorials Multicasting in Java - java tutorials,tutorial Creation Time Comparison of Multi Dimensional Array- Java Tutorials Making Exceptions Unchecked - java tutorial,java tutorials Making Enumerations Iterable - JDK 5 Example Which is Faster - LinkedList or ArrayList? LinkedHashMap - Java Tutorials HashMap and HashCode JDK 1.4 the NullPointerException - Java Tutorials Java HashMap - Java Tutorials Java GC java awt package tutorial Java Multi Dimensions Array - Java Tutorials Java HashSet  - Java Tutorials Java Field Initialisation - Java Tutorials Java Comments - Java Tutorials J2EE Singleton Pattern - Design Pattern Tutorials Java - JDK Tutorials garbage collection in java Final Methods - Java Tutorials Exceptional Constructors - Java Tutorials Double-checked locking,java tutorials,java tutorial Disassembling Java Classes - Java Tutorials Java Deadlocks - Java Deadlocks Tutorials, Deadlocks in Java Commenting out your code - Java Tutorials Class names don't identify a class - Java Tutorials Causing Deadlocks in Swing Code Exception in Java - Java Tutorials Catching Exceptions in GUI Code - Java Tutorials boolean comparisons - tutorial Interthread Communication in Java BASIC Java - Java Tutorials Thread Deadlocks - Java Tutorials Autoboxing unboxing in Java - Java Tutorials Assertion in Java Appending Strings - Java Tutorials Anonymous Inner Classes - Anonymous Inner Classes tutorial Assertion in java
Ads

Non Virtual Methods in Java

Lets see the concept of virtual methods, a virtual function is function whose behavior can not be overridden by inheriting the class.

In C++ programming you can make a function virtual , that tell the compiler that you want to use the most derived methods in object hierarchy.

In Java programming language all the methods are virtual, i.e. the most derived method is always called. Consider an example -

A.java
public class A {
	public void m() {
		System.out.println("Class A's method m() Called");
	}
}

B.java
public class B extends A{
	public void m(){
		System.out.println("Class B's method m() Called");
	}
}

C.java
public class C {
	public static void main(String[] args) {
		A a = new A();
		a.m();
		A a1 = new B();
		a1.m();
		B b = new B();
		b.m();
	}
}

When you will run the above code you will see the output as


Class A's method m() Called
Class B's method m() Called
Class B's method m() Called

The better way to achieve the non-virtual function in java is that make all the non-virtual method static. Consider the example given below -

A.java
public class A {
	public static void m() {
		System.out.println("Class A Called");
	}
}

B.java
public class B extends A{
	public static void m(){
		System.out.println("Class B Called");
	}
}

C.java
public class C {
	public static void main(String[] args) {
		A a = new A();
		a.m();
		A a1 = new B();
		a1.m();
		B b = new B();
		b.m();
	}
}


Class A's method m() Called
Class A's method m() Called
Class B's method m() Called

Advertisements

Share on Google+Share on Google+

Non-virtual Methods in Java - java tutorials

Posted on: April 18, 2011 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Advertisements

 

Discuss: Non-virtual Methods in Java - java tutorials  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:1
Sudharsan
April 23, 2012
Ambiguty inthe Definition

"a virtual function is function whose behavior can not be overridden by inheriting the class." this is the definition you stated, i think it is the definition for NON-Virtual function.

Ads

 

Ads