Java基础知识点整理Day_02

1.面向对象三大特性:封装、继承和多态
2.java支持单继承不支持多(重)继承,但是支持多层继承(父类也可以有父类)
3.实现多态的主要手段为重载(overload)和重写覆盖(override)
4. Java的方法重载overload,就是在类中可以创建多个方法,
1)、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是 fun(int,float), 但是不能为 fun(int,int));
2)、不能通过访问权限、返回类型、抛出的异常进行重载;
3)、方法的异常类型和数目不会对重载造成影响;
4)、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。
调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性(也称之为静态多态)。
5.重写覆盖(override)(动态多态性)
1)override覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
2)覆盖的方法的返回值必须和被覆盖的方法的返回一致;
3)覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
4)被覆盖的方法不能为 private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
6.Overloaded 的方法是否可以改变返回值的类型这个问题,要看你倒底想问什么呢?这个题目很模糊。如果几个 Overloaded 的方法的参数列表不一样,它们的返回者类型当然也可以不一样。但我估计你想问的问题是:如果两个方法的参数列表完全一样,是否可以让它 们的返回值不同来实现重载 Overload。这是不行的,我们可以用反证法来说明这个问题, 因为我们有时候调用一个方法时也可以不定义返回结果变量,即不要关心其返回结果,例如, 我们调用 map.remove(key)方法时,虽然 remove 方法有返回值,但是我们通常都不会定义 接收返回结果的变量,这时候假设该类中有两个名称和参数列表完全相同的方法,仅仅是返 回类型不同,java 就无法确定编程者倒底是想调用哪个方法了,因为它无法通过返回结果 类型来判断。

7.除了8种基本数据类型还有几种引用类型(类、接口和数组),引用类型声明时并不为对象分配空间,只为引用型变量分配引用空间存放地址值。所以说引用类型变量存储一个对象的引用值,而不是对象本身。创建对象就是给对象分配内存空间的过程,即类的实例化。
8.访问权限的范围大小从小到大为:
private:仅在本类中的代码可以访问,子类不可以;
默认(无修饰符):在同一包内代码可以访问,子类不可以;
protected:在同一包内及其子类(即使子类不在同一包内)中的代码可以访问;
public:不同包内代码都可以访问,子类也可以。
这里写图片描述

9.有继承时的构造方法:子类不能继承父类的构造方法,子类所有的构造方法默认访问父类中的无参构造,子类中每一个构造方法第一条语句默认为super();如果子类构造方法中利用super显示调用父类有参构造方法,则不再调用父类无参构造方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值