java学习(三)--重载、继承、重写

一 重载overlording

顾名思义,指的是重复加载。特点是方法名相同,参数列表不同。并且返回值类型、属性修饰符、范围限定等这些都不需要考虑。

为什么要用重载呢?按照我个人的理解说一下。

其实重载的方法和被重载的方法干的都是同样一件事,只不过接收的内容不一样。

举个例子,要从北京去上海,但可以选择坐高铁去,也可以选择飞机去。

这里的从A市到B市,就是方法名,也就是做这件事的目的。

至于乘坐什么样的交通工具,就是参数了,也就是做这件事的方式。

换句话说,都是从北京到上海,看乘客的需求是啥,就去匹配相应的方法。

例如 int max(int num1,int num2);  String max(String str1,String str2);double max(double num1,double num2)

如果我们不适用多态,那么这三个方法的方法名必须不一致。如果有十几个这样的方法名的话,势必会让我们很头疼,明明干的事是一样的,只不过参数不同就要起这么多名字,是很不人性的。所以,这时候运用多态,既然大家干的事都一样,那就统一成一个方法名。这样在其他地方调用的时候,就不用头疼哪个方法是用来干啥的了。

所以在程序在运行时,首先要去找方法名。如果该方法名被多个方法定义的话,需要再去匹配各个方法里的参数属性,包括类型和个数。

二 继承

子类可以从父类中继承成员变量和方法

但,父类中的私有成员和私有方法是、父类构造是不可以继承的。

1.使用super关键字调用父类中的构造方法

2.默认会先调用父类的构造,再调用子类构造

3.构造方法不可继承

4.Java类中只能继承一个父类

5.父类的私有属性不能直接继承,必须提供方法

6.继承关系必须是一种is-a的关系,但同时子类中比父类包含了更多的信息

三 重写 Override

重写很容易和重载搞混,所以需要对比着来写。

重写是子类对父类方法进行重新书写,重写后的子类方法和父类方法,方法名、返回值、参数类型、参数个数都必须要保持一致。两者的区别在于方法里面具体的实现内容。

还是举上面北京到上海的例子。

比如父类表示的是,从北京坐高铁直达去上海。

子类重写方法的话,也必须是从北京到上海,而且必须是坐高铁。

所不同的是坐高铁的方式。父类只能直达,那子类就可以中转济南,下车玩几天再出发。

public static void drvie(pattern gaoTie){

从北京直接到达上海;

}

@override

public static void drvie(pattern gaoTie){

从北京到济南;

从济南到上海;

}

这就是两者的不同。

小技巧 在eclipse中编写重写方法时,可以用alt +?来调出override注解,避免出现错误

四 多态

指的是同一个实体,具有多种形态。

多态存在有以下几个条件

1、有继承关系  

2、子类重写父类方法  

3、父类引用指向子类对象

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值