Android逆向 | 基础篇 - Java 学习笔记03

简介: Android逆向 | 基础篇 - Java 学习笔记03

API

API文档怎么使用

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

导包

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

匿名对象

创建对象的标准格式:

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

创建匿名对象的格式:

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

new 类名称()

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

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

生成随机数

    import java.util.Random
    Random 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             Byte
        short      Short
        int        Integer
        long       Long
        float      Float
        double     Double
        char             Character
        boolean         Boolean

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

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

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

        String

        字符串的特点:

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

        字符串常量池

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

        String --> 数组 使用 toCharArray 方法

        static

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

        注意事项:

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

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

        静态 static 的内存图



        静态代码块

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

          特点:

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

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

          Love & Share

          [ 完 ]

          相关文章
          |
          27天前
          |
          移动开发 Java Android开发
          构建高效Android应用:探究Kotlin与Java的性能差异
          【4月更文挑战第3天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin的兴起,其在Android开发中的地位逐渐上升,但关于其与Java在性能方面的对比,尚无明确共识。本文通过深入分析并结合实际测试数据,探讨了Kotlin与Java在Android平台上的性能表现,揭示了在不同场景下两者的差异及其对应用性能的潜在影响,为开发者在选择编程语言时提供参考依据。
          |
          2月前
          |
          Java 编译器 Android开发
          构建高效Android应用:探究Kotlin与Java的性能差异
          【2月更文挑战第30天】 随着Kotlin成为开发Android应用的首选语言,开发者社区对于其性能表现持续关注。本文通过深入分析与基准测试,探讨Kotlin与Java在Android平台上的性能差异,揭示两种语言在编译效率、运行时性能和内存消耗方面的具体表现,并提供优化建议。我们的目标是为Android开发者提供科学依据,帮助他们在项目实践中做出明智的编程语言选择。
          |
          2月前
          |
          Java 编译器 Android开发
          构建高效Android应用:探究Kotlin与Java的性能差异
          在开发高性能的Android应用时,选择合适的编程语言至关重要。近年来,Kotlin因其简洁性和功能性受到开发者的青睐,但其性能是否与传统的Java相比有所不足?本文通过对比分析Kotlin与Java在Android平台上的运行效率,揭示二者在编译速度、运行时性能及资源消耗方面的具体差异,并探讨在实际项目中如何做出最佳选择。
          18 4
          |
          4天前
          |
          Java 测试技术 Android开发
          构建高效Android应用:探究Kotlin与Java的性能对比
          【4月更文挑战第26天】 在移动开发领域,性能优化一直是开发者追求的重要目标。随着Kotlin的兴起,其在Android平台上的应用逐渐增多,但关于Kotlin与Java在性能方面的对比,社区中仍存在诸多讨论。本文通过实际的性能测试,分析比较了使用Kotlin和Java编写的Android应用在多个维度上的运行效率,旨在为开发者提供一个明确的性能参考,帮助他们在选择编程语言时做出更加明智的决策。
          |
          5天前
          |
          Java 编译器 Android开发
          构建高效Android应用:Kotlin与Java的性能比较
          【4月更文挑战第25天】 在移动开发领域,性能优化始终是开发者关注的焦点。随着Kotlin的普及,许多Android开发者开始考虑是否应该采用这种新的编程语言来替代传统的Java。本文通过对Kotlin和Java进行深入的性能比较,揭示了两者在Android开发中的效率差异,并提供了选择合适语言以提升应用性能的策略。通过实际案例分析和基准测试,我们探讨了两种语言在编译速度、运行时性能以及内存消耗等方面的表现,旨在为开发者提供一个关于如何在Android项目中做出明智语言选择的指南。
          12 0
          |
          6天前
          |
          移动开发 Java Android开发
          构建高效Android应用:Kotlin与Java的性能比较
          【4月更文挑战第24天】在移动开发领域,性能优化始终是关键议题之一。随着Kotlin的普及,许多Android开发者开始考虑将其作为首选语言。本文深入分析了Kotlin与Java在Android平台上的性能差异,并通过实际案例演示了Kotlin的优化策略。我们将探讨如何通过智能语言特性和现代编程实践来提升应用效率,同时保持代码的可读性和可维护性。
          |
          14天前
          |
          数据采集 小程序 数据可视化
          Java Android原生智慧校园管理系统源码
          对班牌的考试模式、班牌模式上课模式进行设置及管理,设置成功后,班牌端将同步应用。
          21 0
          |
          15天前
          |
          传感器 小程序 Java
          Java+saas模式 智慧校园系统源码Java Android +MySQL+ IDEA 多校运营数字化校园云平台源码
          Java+saas模式 智慧校园系统源码Java Android +MySQL+ IDEA 多校运营数字化校园云平台源码 智慧校园即智慧化的校园,也指按智慧化标准进行的校园建设,按标准《智慧校园总体框架》中对智慧校园的标准定义是:物理空间和信息空间的有机衔接,使任何人、任何时间、任何地点都能便捷的获取资源和服务。
          16 1
          |
          2月前
          |
          Java Android开发
          android 开发常见错误:TransformException: java.lang.IllegalStateException:
          android 开发常见错误:TransformException: java.lang.IllegalStateException:
          9 0
          |
          2月前
          |
          Java 编译器 Android开发
          构建高效Android应用:探究Kotlin与Java的性能对比
          【2月更文挑战第28天】 在Android开发领域,Kotlin作为一种现代编程语言,逐渐取代了传统的Java语言。本文通过深入分析Kotlin和Java在Android平台上的性能差异,揭示两者在编译效率、运行速度以及内存消耗等方面的比较结果。我们将探讨Kotlin协程如何优化异步编程,以及Kotlin Extensions对提升开发效率的贡献。同时,文中还将介绍一些性能优化的实践技巧,帮助开发者在Kotlin环境下构建更加高效的Android应用。