| |
Struts Tutorials:
Struts2 Tag CheckBoxList , Checkbox, Iterator, IF
Struts2 Tag Library Example
Struts2 Tiles Example
Struts2 Tiles I18N Example
Struts2 Questions
Struts Tiles I18N Example
Struts Eclipse MVC
Struts2 Tags
Struts2 Example and Tutorial
Struts MVC
Struts2 Validation
Hibernate Tutorials:
Hibernate Case Study
Class Hierarchy Persist Example
Using Hibernate Interceptor
Hibernate Questions with Answer
Hibernate Many-to-Many Mapping Example
Hibernate one-to-many Mapping Example
Hibernate and ORM tools
Spring Hibernate Example
Hibernate SessionFactory Example
Hibernate Mapping Class Hierarchy
Hibernate Questions
Hibernate SessionFactory Questions
Spring Hibernate Example:
Spring Hibernate Case Study
Written By : Amit
Title :
Composite keys in Hashtable
Description :
key and value pair More...
|
Written By : Amit
Title :
Customizing JTree using Swing
Description :
AWT using Java Technology More...
|
Written By : Amit
Title :
Event handling and Java Technology
Description :
Event handling and Java Technology More...
|
Written By : admin
Title :
Using Final Keyword
Description :
Example on using Final Keyword in Java code More...
|
Written By : Amit
Title :
In memory AWT Image Creation
Description :
Java Code More...
|
Written By : Amit
Title :
Java Integral Types
Description :
Java Types with Bit size More...
|
| Tags/Keywords : Using-Java-Technology - Object-Oriented-concepts - Coding-Tips-on-Java Example Author : Amit Date (Year/Month/Date): 2009-01-27
Object Oriented concepts using Java Technology | | | | |
|
Overriding concepts in Java technology
(to the best of my understanding/knowledge):
Explaination:
1. Overriding occurs if a class A
extends class B and class A and B has
same method defined/implemented.
like:
class A
{
public void print()
{
System.out.println("inside A print");
}
}
|
class B extends A
{
public void print()
{
System.out.println("inside B print");
}
}
2. Access privileges of child class B
should be same or stronger than that of the
parent class A. in this example,
2.1 Access privileges of print method in both
the child (B) is same as parent (A), so it is allowed.
Compilation OK
Runtime OK
2.2 Access privileges of print method
in A is 'public' and in B it is
'protected/private', it is not allowed.
class A
{
public void print()
{
System.out.println("inside A print");
}
}
class B extends A
{
protected void print()
{
System.out.println("inside B print");
}
}
Compilation ERROR
No Runtime
class A
{
public void print()
{
System.out.println("inside A print");
}
}
class B extends A
{
private void print()
{
System.out.println("inside B print");
}
}
Compilation ERROR
No Runtime
3. If the overridden method (in this example,
it is method 'print') throws
Exception in parent class, then the child class method
(overridden) method should either throw an exception
that is sub class of the parent exception class,
or no throws clause in child class overridden method.
3.1.
class A
{
public void print() throws Exception
{
System.out.println("inside A print");
}
}
class B extends A
{
public void print() throws java.io.IOException
{
System.out.println("inside B print");
}
}
Compilation OK
Runtime OK
3.2.
class A
{
public void print() throws Exception
{
System.out.println("inside A print");
}
}
class B extends A
{
public void print()
{
System.out.println("inside B print");
}
}
Compilation OK
Runtime OK
3.3.
class A
{
public void print() throws java.io.Exception
{
System.out.println("inside A print");
}
}
class B extends A
{
public void print() throws java.lang.Exception
{
System.out.println("inside B print");
}
}
Compilation ERROR
3.4.
class A
{
public void print()
{
System.out.println("inside A print");
}
}
class B extends A
{
public void print() throws java.lang.Exception
{
System.out.println("inside B print");
}
}
Compilation ERROR
4. If the parent class method is declared final,
then compilation error.
As final keyword restricts overriding.
4.1.
class A
{
public final void print()
{
System.out.println("inside A print");
}
}
class B extends A
{
public void print()
{
System.out.println("inside B print");
}
}
Compilation ERROR
5. In case of instance variables, be it primitive type (int, float,...) or
wrapper class (Integer, String, Date, ...), when present in parent class A, and in
child class B, it is not overriding.
5.1.
class A
{
int i=10;
public void print()
{
System.out.println("inside A print");
}
}
class B extends A
{
int i=5;
public void print()
{
System.out.println("inside B print");
}
}
Compilation OK
In the client code, in case of the following lines of code:
A a = new B();
System.out.println(a.i);
prints on the console as : 10
And
a.print();
prints on the console as : inside B print
6. If super class is not having a default constructor, as shown below, then there
is compilation error.
class A
{
public A(String test)
{
System.out.println("Constructor A");
}
public void print()
{
System.out.println("inside A print");
}
}
class B extends A
{
public B()
{
System.out.println("Constructor B");
}
public void print()
{
System.out.println("inside B print");
}
}
Compilation ERROR
Please try this by some small sample program, and
this concept is really interesting to explore.
All contents of this site are copyrighted by the Author,
Contact Author
Reproduction of any of these material from
this site, in any form, is strictly prohibited.
| |
|
| Are you interested in solving a very interesting Technology Stack while Playing this Game 
|
|
| Home >>> Coding Tips on Java >>> Object Oriented concepts >>> Using Java Technology |
|
|
Visitor/User referred related external URL:
(Visible upon review and approved by this site Administrator)
|
|
|
|
|
<- requires login | Log in or Register | |
Copyright © 2008-2009, Interview-Questions-Tips-Forum, All Rights Reserved. | CONTACT PRIVACY POLICY DISCLAIMER |
 |
Terms of Use and Disclaimer :
This web site provides some of the information about various technologies, example
code, tips, tutorials etc. Like any printed materials, content of these pages may
become out of date over a period of time. Therefore all visitor/users of this web
site are requested/advised to refer to the originating parties/sources for the
latest changes and happenings for detailed information. This information is not
intended to be a substitute for the original reference provided by the originating
parties/sources.
By accessing and using this website in any ways, including, without
limitation, browsing the website pages, using any information, using any content and/or
downloading any materials, you agree to and are bound by the terms of use
described in this page and Usage Terms and Conditions.
If you do not agree to all of
the terms and conditions contained in the terms of use described in this
page and Usage Terms and Conditions, do not use this
website in any manner. If you are using the website on behalf of your
employer, you represent that you are authorized to accept these Terms of Use
on your employer's behalf.
All Trademarks are property of their respective owner. Appropriate measure is being
taken for providing accurate and up-to-date information but like any printed materials,
these blog(s)/contents may eventually be outdated one day, so if you are using any
of these information, please refer original content/documentation from respective sources.
And under no circumstances shall the Author of these contents and/or this web site
be liable for any loss, damage, expense incurred or suffered which is claimed to have
occurred because of usage of the contents of this web site.
If you have any questions/queries/feedback/suggestions then please write to this web
site owner at contact.
|  |
|
|
|
|
|