package cn.itcast11;
class Animal {
public Animal() {
super();
System.out.println(this.dynamicGet());
}
public static String staticGet() {
return "父类静态方法";
}
public String dynamicGet() {
return "父类普通方法";
}
}
class Cat extends Animal {
private int sum;
public Cat(int a) {
super();
this.sum = a;
this.show();
}
public static String staticGet() {
return "子类静态方法";
}
public String dynamicGet() {
return "子类普通方法";
}
public void show() {
System.out.println("子类普通方法" + sum);
}
}
public class StaticPolymorphism {
public static void main(String[] args) {
Animal sup = new Cat(4);// 多态
System.out.println(Animal.staticGet()); // 输出为:父类静态方法
System.out.println(sup.dynamicGet());// 输出为:子类普通方法
}
}
class Animal {
public Animal() {
super();
System.out.println(this.dynamicGet());
}
public static String staticGet() {
return "父类静态方法";
}
public String dynamicGet() {
return "父类普通方法";
}
}
class Cat extends Animal {
private int sum;
public Cat(int a) {
super();
this.sum = a;
this.show();
}
public static String staticGet() {
return "子类静态方法";
}
public String dynamicGet() {
return "子类普通方法";
}
public void show() {
System.out.println("子类普通方法" + sum);
}
}
public class StaticPolymorphism {
public static void main(String[] args) {
Animal sup = new Cat(4);// 多态
System.out.println(Animal.staticGet()); // 输出为:父类静态方法
System.out.println(sup.dynamicGet());// 输出为:子类普通方法
}
}
本文深入探讨了Java中面向对象编程的概念,重点讲解了多态的实现方式及其在实际开发中的应用。通过创建Animal和Cat类,展示了如何使用继承和方法覆盖来体现多态特性,并通过实例演示了静态方法与普通方法的区别。

581

被折叠的 条评论
为什么被折叠?



