Android逆向 | 基础篇

霸气de小男生 提交于 2021-01-21 03:28:48

点击上方“咸鱼学Python”,选择“加为星标

第一时间关注Python技术干货!

API

API文档怎么使用

看包路径看构造方法看方法摘要

导包

导包:import 包路径.类名称,如果需要使用的目标类和当前类位于同一个包下,则可以省略导包语句不写,且只有 java.lang 包下的内容不需要导包,其他的包都需要 import 语句创建:类名称 对象名 = new 类名称()使用:对象.成员方法名()

匿名对象

创建对象的标准格式:

类名称 对象名 = new 类名称()

创建匿名对象的格式:

匿名对象就是只有右边的对象,没有左边的名字和赋值运算符

new 类名称()

注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。

使用建议:如果确定有一个对象只需要使用唯一的一次,就可以使用匿名对象。

生成随机数

import java.util.RandomRandom r = new Random()// 获取随机 int 数字 范围是 int 所有范围,有正负两种int num = r.nextInt()// 获取随机 int 数字 参数代表了范围,左闭右开区间int num = r.nextInt(3)// 实际代表的含义是:[0,3) 即 0~2

ArrayList

Arraylist 与 数组的区别:

数组是长度固定的ArrayList 的长度是可变的

对于 ArrayList 来说,有一个尖括号 代表泛型

泛型:也就是装在集合当中的所有元素,全都是统一的什么类型

注意:泛型只能是引用类型,不能是基本类型

eg:创建了一个 Arraylist 集合,集合的名称是list,里面装的全都是 String 字符串类型的数据

ArrayList<String> list = new ArrayList<>()// 从 JDK 1.7+ 开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的

如果希望向集合 ArraryList 当中存储基本类型的数据,必须使用基本类型对应的“包装类”。

基本类型    包装类(引用类型,包装类都位于java.lang包下)byte             Byteshort      Shortint        Integerlong       Longfloat      Floatdouble     Doublechar             Characterboolean         Boolean

从JDK 1.5+ 开始,支持自动装箱、自动拆箱。

自动装箱:基本类型 --> 包装类型

自动拆箱:包装类型 --> 基本类型

String

字符串的特点:

字符串的内容永不可变正是因为字符串不可改变,所以字符串可以共享使用的。字符串效果上相当于是 char[] 字符数组,但是底层原理是byte[]字符数组

字符串常量池

程序中直接写上的双引号字符串,就在字符串常量池中。对于基本类型来说, == 是进行数值的比较对于引用类型来说, == 是进行地址值的比较

String --> 数组 使用 toCharArray 方法

static

一旦使用 static 关键字,那么这样的内容不再属于对象自己,而是属于类的,所以凡是本类的对象,都共享同一份。

注意事项:

静态不能直接访问非静态原因:因为在内存当中是【先】有的静态内容,【后】有的非静态内容,“先人不知道后人,但是后人知道先人”静态方法中不能用 thisthis 代表当前对象,通过谁调用的方法,谁就是当前对象

根据类名称访问静态成员变量的时候,全程和对象没关系,只和类有关系

静态 static 的内存图



静态代码块

public class 类名称{  static {    // 静态代码块的内容  }}

特点:

当第一次用到本类的时候,静态代码块执行唯一的一次。静态内容总是优先于非晶态,所以静态代码块比构造方法先执行

静态代码块的典型用法:用来一次性的对静态成员变量进行赋值。

Love & Share 

[ 完 ]


喜欢文章,点个在看 

本文分享自微信公众号 - 咸鱼学Python(xianyuxuepython)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!