InheritanceTest.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
abstract class GraphicObject { int x,y; public GraphicObject(int x, int y){ //this.x = x; //this.y = y; moveTo(x, y); } public void moveTo(int newX, int newY){ x = newX; y = newY; } public void printDetails(){ System.out.print("x: " + x + " y: " + y); } public abstract void resize(double multiplier); } class Rectangle extends GraphicObject { private int side1, side2; public Rectangle(int side1, int side2, int x, int y){ super(x, y); this.side1 = side1; this.side2 = side2; } public void printDetails(){ super.printDetails(); System.out.println(" side1: " + side1 + " side2: " + side2); } public void resize(double multiplier){ side1 *= multiplier; side2 *= multiplier; } } public class InheritanceTest { public static void main(String[] args){ //GraphicObject go = new GraphicObject(10,20); GraphicObject r = new Rectangle(3, 4, 15, 30); //go.printDetails(); System.out.println(); r.printDetails(); r.resize(10); r.printDetails(); } } |
PetableEx.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
interface Petable { public void pet(); } class Cat implements Petable { public void pet(){ purr(); } public void purr(){ System.out.println("Purr"); } } class MeanDog implements Petable { public void pet(){ bite(); } public void bite(){ System.out.println("Biting you!"); } } public class PetableEx { public static void main(String[] args){ Petable c = new Cat(); c.pet(); Petable d = new MeanDog(); d.pet(); } } |