Interfaces
can be used as Reference types. If you define a reference variable
whose type is an interface, any object you assign to it must be an
instance of a class that implements the interface.
interface Circle{ double PI = 3.1428; double getArea(int r); }
class MyCircle implements Circle{ public double getArea(int r){ return (Circle.PI * r * r); } public double getPerimeter(int r){ return (Circle.PI * 2 * r); } public static void main(String args[]){ Circle circle1 = new MyCircle(); System.out.println("Area of the circle is " +circle1.getArea(10)); } }
Output
Area
of the circle is 314.28
By
Assigning an object to the interface type, the reference variable
“circle1” call only the methods declared in the interface. Trying
to call the methods which are not declared in the interface cause the
compiler error.
Example
class MyCircle implements Circle{ public double getArea(int r){ return (Circle.PI * r * r); } public double getPerimeter(int r){ return (Circle.PI * 2 * r); } public static void main(String args[]){ Circle circle1 = new MyCircle(); circle1.getPerimeter(10); } }
Above
program, tries to call the getPerimeter(), which is not declared in
the interface Circle. So trying to call this method throws below
compiler error.
MyCircle.java:12: error: cannot find symbol
circle1.getPerimeter(10);
^
symbol: method getPerimeter(int)
location: variable circle1 of type Circle
1 error
Interfaces Implement more than one interface Home
No comments:
Post a Comment