overriding equals in java code example

Example 1: overriding in java

class Animal {
   public void move() {
      System.out.println("Animals can move");
   }
}

class Dog extends Animal {
   public void move() {
      System.out.println("Dogs can walk and run");
   }
}

public class TestDog {

   public static void main(String args[]) {
      Animal a = new Animal();   // Animal reference and object
      Animal b = new Dog();   // Animal reference but Dog object

      a.move();   // runs the method in Animal class
      b.move();   // runs the method in Dog class
   }
}

Example 2: override equals java

class Complex { 

	private double re, im; 

	public Complex(double re, double im) { 
		this.re = re; 
		this.im = im; 
	} 

	// Overriding equals() to compare two Complex objects 
	@Override
	public boolean equals(Object o) { 

		// If the object is compared with itself then return true 
		if (o == this) { 
			return true; 
		} 

		/* Check if o is an instance of Complex or not 
		"null instanceof [type]" also returns false */
		if (!(o instanceof Complex)) { 
			return false; 
		} 
		
		// typecast o to Complex so that we can compare data members 
		Complex c = (Complex) o; 
		
		// Compare the data members and return accordingly 
		return Double.compare(re, c.re) == 0
				&& Double.compare(im, c.im) == 0; 
	} 
} 

// Driver class to test the Complex class 
public class Main { 

	public static void main(String[] args) { 
		Complex c1 = new Complex(10, 15); 
		Complex c2 = new Complex(10, 15); 
		if (c1.equals(c2)) { 
			System.out.println("Equal "); 
		} else { 
			System.out.println("Not Equal "); 
		} 
	} 
}

Tags:

Misc Example