只有返回值不同而参数列表参数数量相同,idea会报错。
多态
public class testPoly {
//多态
class Shape{
public void printIt(){
System.out.println("this is a shape class");
}
}
class Circle extends Shape{
public void printIt(){
System.out.println("this is a circle class");
}
}
class Rect extends Shape{
public void printIt(){
System.out.println("this is a rect class");
}
}
static void printIt(Object o){
System.out.println("static object");
if(o.getClass().isInstance(Shape.class)){
System.out.println("static object shape");
}
}
static void printIt(Shape shape){
System.out.println("static shape");
}
static void printIt(Circle shape){
System.out.println("static Circle");
}
static void printIt(Rect shape){
System.out.println("static Rect");
}
public static void main(String[] args) {
testPoly test = new testPoly();
Shape shape1 = test.new Circle();
Shape shape2 = test.new Rect();
printIt(shape1);
printIt(shape2);
}
}
结果
D:\software\jdk11\bin\java.exe "-javaagent:D:\software\idea\IntelliJ IDEA 2021.1.1\lib\idea_rt.jar=60331:D:\software\idea\IntelliJ IDEA 2021.1.1\bin" -Dfile.encoding=UTF-8 -classpath D:\workspace\study\leetcodetest\out\production\leetcodetest testPoly
static shape
static shape
Process finished with exit code 0
编译时看左边,执行时看右边