【Java-12】多态

多态用于继承且重写的方法,因为既然重写故定然有相似根方法,多态核心在于使用根方法来对每一个继承来的子重写方法进行执行。有了多态我们就可以用多态来处理子类问题!某一个函数可以调用那些子类中一个,那么这个函数可以定义为参数为父类的函数,传入参数时候这个参数可以是子类中任意一个类

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+"被我小学生重写了!");
	}
	
	public void fun1()
	{
		System.out.println("第二个方法");
	}
	
	//添加的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);
		if(stu instanceof small_Student)///将非重写的子类新方法执行
		{
			((small_Student) stu).fun1();
		}
	}
	
	//调用上面方法
	public static void main(String[] arg){
		small_Student Student1=new small_Student();
		func(Student1);		
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值