多态用于继承且重写的方法,因为既然重写故定然有相似根方法,多态核心在于使用根方法来对每一个继承来的子重写方法进行执行
package bao1;
///学生
public class Student {
String name="abc"; // 定义一个成员变量name
public void fun(int a) { // 函数一
System.out.println(a);
}
}
///继承类:小学生
class small_Student extends Student{
private int tag;
private int id;
//构造函数
public void fun(int a)
{
System.out.println(a+"被我小学生重写了!");
}
//添加的get、set
public int getTag() {
return tag;
}
public void setTag(int tag) {
this.tag = tag;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
///继承类:大学生
class big_Student extends Student{
int tag;
public void func(){
System.out.println("大学生!");
}
public void fun(int a)
{
System.out.println(a+"被我大学生重写了!");
}
}
//测试
package bao1;
import java.util.Scanner;//控制台输出函数
public class wsdx{
///新建一个方法,用于输出所有子类重写方法
public static void func(Student stu)
{
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
stu.fun(a);
}
//调用上面方法
public static void main(String[] arg){
small_Student Student1=new small_Student();
func(Student1);
}
}