Java--重载、重写、静态分配、动态分配

本文介绍了Java中的方法重载(overload)和方法重写(override)的概念。重载关注静态分配,发生在编译时,主要看参数的声明类型。而重写涉及动态分配,发生在运行时,根据实际类型调用最新方法。重载要求方法名相同但参数不同,返回类型和修饰符可变。静态方法不能被重写,只能隐藏,调用需通过父类引用。
摘要由CSDN通过智能技术生成
  1. 重载属于静态分配,在编译时编译器已经确定调用的是哪个方法,所以看参数的声明类型,也叫作静态类型(即赋值号的左边。)
  2. 方法重载overload。方法重载发生在同一个类里面两个或者多个方法的方法名相同但是参数不同的情况。
  3. 方法覆盖override是子类覆盖掉了父类的方法。方法覆盖必须有相同的函数名、参数列表和返回值类型。
  4. 动态分配是在运行时才会确定,会先去声明类型的类中找到是否存在这个方法,然后根据动态方法链从实际类型开始找到并且调用最后重写(重写就是覆盖,子类覆盖父类)这个方法的最新方法。
  5. 重载的定义:若两个方法方法名相同,但是参数不一致,那么可以说一个方法是另一个方法的重载。具体表现是:
    (1) 方法名相同
    (2) 方法的参数类型,参数个数不一样
    (3) 方法的返回类型可以不相同
    (4) 方法的修饰符可以不相同
    (5) Main方法可以被重载
  6. 在静态方法里没有重写(重写就是覆盖,子类覆盖父类)一说,所以没有动态链的实现,而是被隐藏,要调用只能通过父类名.方法名。
public class Demo{
   
	public static void main(String[] args)
	{
   
		Collection<?>[] collections = 
			{
   new HashSet<String>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值