不是太细的java自学笔记2(p245到p315)(继承性,重写,super,多态,包装类)

34 篇文章 1 订阅

承接上一个笔记继续记录(这次记录到P315)

不算是一个0基础的笔记,很多涉及到底层的存储方式因为时间关系没有记录,推荐各位去看原视频教程。

 

35.继承性(extends)

在基类中的private属性,方法也被继承到了,但是没法直接访问需要使用setget方式来获取到属性。一个类只能有一个父类(c++支持多重继承)即java只支持单继承。

36.没有说明明确的父类,那么这个类继承于java.lang.Object类。

37.方法重写(override,overwrite)

在继承中对继承到的方法进行修改覆盖原来方法。方法名称和形参列表都要一样。重写的方法权限不小于父类的方法。子类中不能重写父类中的private的方法。

父类void,子类只能是void

父类是A类型,子类返回值可以是A类或者A类的子类

重写和重载·是不同的:重写是基于继承得来的。必须要父类有对应方法,参数要完全相同。而重载是在一个类中的方法重载,参数可以不同。

子类重写的方法抛出的异常类型,不大于父类的被重写的方法抛出的异常类型。

如果说明为static则不能重写。

子类继承父类之后在堆空间中就自动下载父类中的声明的属性。究其原因就是因为会调用父类的构造器,构造器导致父类的属性加载到堆中。

38.super

方法会重写但是属性不会覆盖!!!!

super理解为父类的

和this类似,使用方法也是类似。出现子类父类同名的属性则使用this和super进行区分。super也可以调用构造器,同上但是必须要在首行调用父类构造器。super()是默认被调用的。

39.多态性:一个事务的多种形态.

把事务分为了两个使用的过程,分别为编译过程和运行过程。编译过程中体现为调用的方法为其本身类型的方法(即父类方法),但是在运行过程中使用的方法为子类的方法。(举例:和人一起吃饭,只需要这个人事Person类即可,但是真正吃饭的时候我们需要根据男人女人不同产生不同的吃饭过程。也就是调用不同的子类的eat()方法。)

 这里我们直接可以把p2当成一个man来看,因为Man同样是属于Person人这类的。

当调用子父类的同名同参数方法时实际调用的是子类的方法,称之为虚拟方法调用例如:p2.eat();本身p2为person类的对象,不能调用子类中的特有方法。也叫做动态绑定。

对象的多态性适用于方法,不适于属性。

多态性的好处,减少重载方法的设计

40.instanceof

x instanceof A检验x是否为类A的对象,返回值是boolean

41.

要是instanceof其父类也是true

42.==和equals的比较

==在比较基本数据类型中不需要类型相同

==如果比较引用数据类型变量,则比较地址值

equals在object中的定义和==作用相同。

String,Date,File,包装类中对equals方法进行了重写,比较了内容。

43.euqals方法复用需要注意当我们在比较String类型的属性时我们需要使用String自带的equals()函数进行比较,而不能使用==比较。原因在于==比较的是地址,并不是其中的内容。但是当我们有两个String变量都是赋值的相同常量时,因为java中常量存储在常量池中,并且当存在已有常量,定义新变量后我们赋值为已有的常量,会直接复用这个常量,而不是新建一个地址存放我们新建的内容。

44.toString() 一般返回地址,重写返回内容

45.单元测试JUnit

46.***包装类(Wrapper):

基本数据类型不是类,没有体现出面向对象                                                                                                                         

jdk5.0新特性:自动装箱和拆箱

有了自动拆箱和装箱之后可以包装类和基本数据类型看作一种!

只有有子父类关系的才能进行强制类型转换。

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值