多态

概述:

​ 事物的多种表现形态就是多态;同一对象在不同情况下表现出不同的状态或行为。

​ 比如:人一个事物,在公司是员工,回到家是父母的儿子,在妻子面前是丈夫等不同的场景下,就有不同的身份 这多态的体现。

​ java中的多态体现在类上,具体的体现由对象来实现。

​ java中的多态就理解为对象的不同数据类型的体现,在java中自己类型的体现不属于多态,父类类型的体现就是多态的体现

​ 子类对象充当父类类型的变量

前提:

  • 必须要有继承或实现关系
  • 方法重写
  • 父类引用指向子类对象(is a 关系)

特点:

​ 父类引用指向子类的对象

​ 【把子类对象的地址值存放到父类类型的变量中】

格式:

​ 父类类型 变量名 = new 子类名(实参);
代码示例

父类:

public class Father {
   
	String name;
	int age;

	public void work() {
   
		System.out.println("我是父类中的work方法");
	}
}

子类:

public class Son extends Father{
   

	String name;  //姓名
	int age;   //年龄
	int height;  //身高
	
	@Override
	public void work() {
   
		System.out.println("我是子类的work方法");
	}
	
}

测试类:

public class Test {
   
	public static void main(String[] args) {
   
		//通过多态的方式创建对象
		Father fa = new Son();   //父类引用指向子类对象
		
	}

}

多态中成员变量的访问原则

编译看左,运行看左
左右指的是创建对象的时候赋值符号的左右 左边【父类】 右边【子类】

编译看左(左边指父类):意思是在编译期间会看左边的类型有没有这个成员,没有就报错,有就不报错。

运行看左(左边指父类):意思是在运行期间使用的是 左边的类型中的这个成员

代码示例

父类:
public class Father {
   
	String name = "父亲";
	int age = 32;
}

子类:
public class Son extends Father{
   

	String name = "儿子";  //姓名
	int age = 5;   //年龄
	int height = 150;  //身高	
}

测试类:
public class Test {
   
	public static void main(String[] args) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值