java in int 类型什么意思?

图中带箭头的in int 和 in String 是什么意思?

AIDL是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口。

通常我们在定义aidl文件里面的方法的时候,很少注意或者很少用到到参数的修饰符:in 、out 、inout,它们代表的是客户端和服务端数据相互传递的规则。注意,这里只是针对参数的规则,并不是方法返回值的规则。

如下介绍in/out/inout:

in代表参数只能从客户端传到服务端,服务端在执行这个方法的时候,会读取服务端传过来的参数,并以此参数执行方法。在服务端把方法执行完之后,并不会再做其他动作。

out代表此参数从客户端传递不到服务端,也就是在服务端执行方法的时候,并不会去读取客户端的这个参数,而是自己new一个新对象,用此新对象来作为参数执行方法。但是在方法执行完之后,会把这个参数又传回客户端,更新客户端的对象参数值。

inout则是相互之间都是可以传递和感知的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-21
in表示输入 out输出 int表示数据类型是整型,和string一样,不过string表示字符串类型,int说明数据是整数,大小有一定的范围,一般都不会超过的追问

为什么不会直接写 int erroCode , String msg ,in 和 out 是不是只有接口中才能用?

第2个回答  2020-04-21
弄懂这个问题,你首先要知道两个概念:协变(返回值可是是其派生类)、逆变(输入参数可以是其基类)
这里的in对应的就是:逆变。如果有out对应的就是:协变
针对这个问题,这里in int errorCode 表示这里不仅可以输入int类型,还可以输入int的基类型本回答被提问者采纳
第3个回答  2020-04-20
in/out 表示参数传递方向,in表示传入参数追问

能具体点吗?

相似回答