JAVA快速入门学习笔记第五章

类型简介

java种类型系统分为两类:
第一种是 基本类型(byte short int long float double char boolean)
第二种是引用类型(除了上述8种都为引用类型,String ,int[]…,引用类型是由基本类型组成的)

除此之外引用类型中还有一种特殊的类型叫包装类型,包装类型其实就是基本类型的封装,与基本类型是一一对应的,有Byte,Short,Integer,Long,Float,Double,Character,Boolean,包装类型对应着对象,有对象的各种特征,我们可以用创建对象的语法创建一个包装类型,例:在这里插入图片描述
他有对象的各种特征。

类型转换

同类型之间可以直接赋值,传参,不同类型之间的赋值传参就需要类型转换。

类型转换的规则:
1.基本类型之间的转换规则在这里插入图片描述
图中顺着箭头方向的转换属于隐式转换(自动转换),直接就可以转,例:在这里插入图片描述
逆着箭头方向的转换属于强制转换,强制转换有可能损失精度,方法就是需要再转换时添加转换类型,例:在这里插入图片描述
2.包装类型与基本类型之间的转换规则
基本类型能与其对应的包装类型自动转换,例:
在这里插入图片描述
3.引用类型之间的转换规则
首先了解一下继承的特点, **(1)单继承(子类只能有一个父类);(2)Object(他是所有其他类型直接或间接的父类型,定义class时,不屑extends此类也是继承自object)(3)**子类与父类或祖先类型之间可以用【是一个】的关系表达,比如猫是一个动物,猫是一个物体。
在这里插入图片描述
顺着箭头转换(也就是待转换的对象和目标类型之间,要符合【是一个】的关系),就可以隐式转换,例:在这里插入图片描述
转换之后对象还是那个对象,只是用父类型代表了他。

  逆着箭头方向转换其实也属于强制转换,且转换的对象和目标类型之间,要符合【是一个】的关系,这与上面顺着箭头的要求并不冲突,就是说猫不能转换成狗

4.不属于上述三种的,借助转换方法
比如Integer.parseInt()是将一个类型转换成整数型

多态

同一个方法表现出的不同行为就叫多态,比如两个对象同时调用一个方法,结果其中一个按顺时针走,另一个按直线走。
多态有很多种,这里说的是子类型多态,归根结底是因为对象不同,使得表现出的行为不一样。

行为不同的前提:(1)用父类代表子类对象(2)子类和父类得有相同的方法(也就是方法重写),这一点我们可以通过注解来检查,如下:在这里插入图片描述
具体代码和运行流程:在这里插入图片描述
首先执行方法执行方法时会判断执行该方法的对象是什么,完后判断该对象中是否有子类中该方法的重写,最后调用方法,有重写调用子类中的该方法,没有重写调用父类中的该方法
在这里插入图片描述
多态的前提:在这里插入图片描述

封装

为了保证代码中的某些参数不能随便的访问和更改,我们必须保证代码有更好的封装性。
java里的四种标识符:在这里插入图片描述
封装有个原则:尽可能让访问范围最小(private<默认<protected<public),字段建议设为私有,想让子类用的考虑设为protected

JavaBean(规范)


例:在这里插入图片描述
注:
在这里插入图片描述

解决单继承短板——接口

如果我们创建一个鸟类,里面鸭子和企鹅的子类,完后我们需要调用“飞”这个方法,但之后我们在创建一个昆虫类,里面有蜻蜓这个子类,他也要调用“飞”这个方法,所以必须在昆虫类里在生成一个方法,这就很复杂了,因此我们要引入一个新的概念:接口

我们将重复调用的代码(也就是上例的“飞”),不放在父类中,放在接口中,一个类虽然只能继承一个父类,但一个类可以继承多个接口,比如鸭子既会“游泳”,也会“飞”

接口的语法在这里插入图片描述
注意:在这里插入图片描述
例:在这里插入图片描述
如上图,鸭子类连接了游泳和飞翔两个接口,他就具备了飞翔和游泳的能力。

限制:
(1)同一个java源文件中虽然可以同时出现多个类和多个接口,但是他们中只能有一个时public
(2)(1)中所说的public类的名字必须和源文件同名

接口特性——多态

条件(其实跟继承的多态条件差不多):在这里插入图片描述
注意:在这里插入图片描述
利用接口能使代码有更好的封装性,因为用户只能访问到接口里的方法,对于继承接口的类并不能访问。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值