Review (background knowledge):
how Java
determine which method to use
- Java
determines which method to
call/use by
matching
the
method signature
:
Example:
public static void main(String[] args)
{
method(1); // Calls method( int x )
method(1.0); // Calls method( double x )
method(1, 1); // Calls method( int x, int y )
}
public static void method( int x )
{
System.out.println("Running: method( int x ) ");
}
public static void method( double x )
{
System.out.println("Running: method( double x ) ");
}
public static void method( int x, int y )
{
System.out.println("Running: method( int x, int y ) ");
}
|
|
DEMO:
13-inheritance/11-overload/Overloading.java
Overloading vs.
overriding
Overloading vs.
overriding
Overloading vs.
overriding
Overloading vs.
overriding
DEMO:
demo/13-inheritance/11-overload
(run main() and
trace with
BlueJ)
Overloading vs.
overriding
Overloading vs.
overriding
Overloading vs.
overriding
Overloading vs.
overriding
DEMO:
demo/13-inheritance/12-override
(run main() and
Trace with
BlueJ)
Java's
compiler indication
for overriding
DEMO:
demo/13-inheritance/12-override/ ---
edit
NewClass and
re-compile ---
also
try:
method1(int a) for
error
Additional conditions
on
overriding methods
DEMO:
demo/13-inheritance/12-override/ ---
change type
void to
int
in NewClass method1 and re-compile
Additional conditions
on
overriding methods
DEMO:
demo/13-inheritance/12-override/ ---
change
public to
private
in NewClass method1
--->
compile error
❮
❯