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

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


类与对象的关系

类是对一类事物的描述,是抽象的(比如手机的设计图纸)

对象是一类事物的实例,是具体的(比如真正的手机)

类是对象的模板,对象是类的实体

对象的内存示意图

对象的内存示意图

两个对象使用同一个方法的内存

两个对象使用同一个方法的内存

两个引用指向同一对象

两个引用指向同一对象

使用对象作为方法的参数

使用对象作为方法的返回值

成员变量和局部变量

定义的位置不一样局部变量:在方法的内部成员变量:在方法的外部,直接写在类中作用范围不一样局部变量:只有方法中才可以使用,出了方法就不能再用成员变量:整个类全都可以通用默认值不一样局部变量:没有默认值,如果要想使用,必须手动进行赋值成员变量:如果没有赋值,会有默认值,规则和数组一样内存的位置不一样局部变量:位于栈中成员变量:位于堆中声明周期不一样局部变量:随着方法进栈而诞生,随着方法出栈而消失成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失

面向对象的三大特征

面向对象的的三大特征:封装,继承,多态

封装

封装在Java中的体现:

方法就是一种封装关键字 private 也是一种封装

封装-private

一旦使用了 private 进行修饰,那么本类当中仍然可以随意访问。

但是超过了本类的方位之外就不能直接访问了。

间接访问 private 成员变量,就是定义一对 Getter / Setter 方法

必须叫 setxxx 或者是 getxxx

对于 Getter 来说,不能有参数,返回值类型与成员变量对应

对于 Setter 来说,不能有返回值,参数类型和成员变量对应

this

当方法的局部变量和类的成员变量重名的时候,根据就近原则,优先使用局部变量

如果需要访问本类中的成员变量,需要使用格式:this.成员变量名

通过谁调用的方法,谁就是this

构造方法

构造方法是专门用来创建对象的方法,当我们通过关键字 new 来创建对象时,其实就是在调用构造方法。

格式:

    pubilc 类名称(参数类型 参数名称){ 
    方法体
    }

    注意事项:

    构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样构造方法不要写返回值类型,连 void 都不写构造方法不能 return 一个具体的返回值如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么事情都不做。public Student(){}一旦编写了至少一个构造方法,那么编辑器将不再赠送。构造方法也是可以进行重载的

    定义一个标准类

    所有的成员变量都要使用 private 关键字修饰为每一个成员变量编写一对 Getter / Setter 方法编写一个无参数的构造方法编写一个全参数的构造方法

    Love & Share

    [ 完 ]

    相关文章
    |
    26天前
    |
    移动开发 Java Android开发
    构建高效Android应用:探究Kotlin与Java的性能差异
    【4月更文挑战第3天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin的兴起,其在Android开发中的地位逐渐上升,但关于其与Java在性能方面的对比,尚无明确共识。本文通过深入分析并结合实际测试数据,探讨了Kotlin与Java在Android平台上的性能表现,揭示了在不同场景下两者的差异及其对应用性能的潜在影响,为开发者在选择编程语言时提供参考依据。
    |
    1月前
    |
    Java 编译器 Android开发
    构建高效Android应用:探究Kotlin与Java的性能差异
    【2月更文挑战第30天】 随着Kotlin成为开发Android应用的首选语言,开发者社区对于其性能表现持续关注。本文通过深入分析与基准测试,探讨Kotlin与Java在Android平台上的性能差异,揭示两种语言在编译效率、运行时性能和内存消耗方面的具体表现,并提供优化建议。我们的目标是为Android开发者提供科学依据,帮助他们在项目实践中做出明智的编程语言选择。
    |
    1月前
    |
    Java 编译器 Android开发
    构建高效Android应用:探究Kotlin与Java的性能差异
    在开发高性能的Android应用时,选择合适的编程语言至关重要。近年来,Kotlin因其简洁性和功能性受到开发者的青睐,但其性能是否与传统的Java相比有所不足?本文通过对比分析Kotlin与Java在Android平台上的运行效率,揭示二者在编译速度、运行时性能及资源消耗方面的具体差异,并探讨在实际项目中如何做出最佳选择。
    18 4
    |
    3天前
    |
    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项目中做出明智语言选择的指南。
    11 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
    |
    1月前
    |
    Java Android开发
    android 开发常见错误:TransformException: java.lang.IllegalStateException:
    android 开发常见错误:TransformException: java.lang.IllegalStateException:
    8 0
    |
    1月前
    |
    Java 编译器 Android开发
    构建高效Android应用:探究Kotlin与Java的性能对比
    【2月更文挑战第28天】 在Android开发领域,Kotlin作为一种现代编程语言,逐渐取代了传统的Java语言。本文通过深入分析Kotlin和Java在Android平台上的性能差异,揭示两者在编译效率、运行速度以及内存消耗等方面的比较结果。我们将探讨Kotlin协程如何优化异步编程,以及Kotlin Extensions对提升开发效率的贡献。同时,文中还将介绍一些性能优化的实践技巧,帮助开发者在Kotlin环境下构建更加高效的Android应用。