Several cases whether Java-- base class derived class overrides the method occurs

We create a base class Shape, Circle and Square then inherit Shape.

First case: Circle Square and not cover the base class.

class Shape {
	public void draw() {
		System.out.println("Shape!");
	}
}

class Circle extends Shape {

}

class Square extends Shape {

}


public class Demo03 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Circle c = new Circle();
		c.draw();
		
		Square s = new Square();
		s.draw();
	}
}

result:

Second case: Circle Square covering the base class method does not cover the method of the base class.

class Shape {
	public void draw() {
		System.out.println("Shape!");
	}
}

class Circle extends Shape {
	public void draw() {
		System.out.println("Circle!");
	}
}

class Square extends Shape {

}


public class Demo03 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Circle c = new Circle();
		c.draw();
		
		Square s = new Square();
		s.draw();
		
	}

}

result:

The third case: Circle Square and base class methods are covered.

class Shape {
	public void draw() {
		System.out.println("Shape!");
	}
}

class Circle extends Shape {
	public void draw() {
		System.out.println("Circle!");
	}
}

class Square extends Shape {
	public void draw() {
		System.out.println("Square!");
	}
}


public class Demo03 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Circle c = new Circle();
		c.draw();
		
		Square s = new Square();
		s.draw();
		
	}
}

result:

Conclusion: If the derived class does not cover the base class, the base class is then automatically run; method of deriving class covering covers the lead out if the base class, then run.

 

Guess you like

Origin www.cnblogs.com/strive-19970713/p/11236674.html