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

    [ 完 ]

    相关文章
    |
    3月前
    |
    存储 Java
    Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
    Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
    |
    2月前
    |
    存储 安全 Java
    Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
    从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
    Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
    |
    2月前
    |
    存储 安全 Java
    Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
    本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
    Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
    |
    1月前
    |
    Java 数据安全/隐私保护
    java学习笔记(基础习题)
    java学习笔记(基础习题)
    32 0
    |
    1月前
    |
    Java 程序员 开发工具
    java学习笔记
    java学习笔记
    34 0
    |
    2月前
    |
    Java Android开发 C++
    🚀Android NDK开发实战!Java与C++混合编程,打造极致性能体验!📊
    在Android应用开发中,追求卓越性能是不变的主题。本文介绍如何利用Android NDK(Native Development Kit)结合Java与C++进行混合编程,提升应用性能。从环境搭建到JNI接口设计,再到实战示例,全面展示NDK的优势与应用技巧,助你打造高性能应用。通过具体案例,如计算斐波那契数列,详细讲解Java与C++的协作流程,帮助开发者掌握NDK开发精髓,实现高效计算与硬件交互。
    121 1
    |
    2月前
    |
    存储 安全 Java
    Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
    本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
    Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
    |
    3月前
    |
    存储 搜索推荐 Java
    探索安卓开发中的自定义视图:打造个性化UI组件Java中的异常处理:从基础到高级
    【8月更文挑战第29天】在安卓应用的海洋中,一个独特的用户界面(UI)能让应用脱颖而出。自定义视图是实现这一目标的强大工具。本文将通过一个简单的自定义计数器视图示例,展示如何从零开始创建一个具有独特风格和功能的安卓UI组件,并讨论在此过程中涉及的设计原则、性能优化和兼容性问题。准备好让你的应用与众不同了吗?让我们开始吧!
    |
    3月前
    |
    Java 调度 Android开发
    Android经典实战之Kotlin的delay函数和Java中的Thread.sleep有什么不同?
    本文介绍了 Kotlin 中的 `delay` 函数与 Java 中 `Thread.sleep` 方法的区别。两者均可暂停代码执行,但 `delay` 适用于协程,非阻塞且高效;`Thread.sleep` 则阻塞当前线程。理解这些差异有助于提高程序效率与可读性。
    71 1
    |
    3月前
    |
    IDE Java Linux
    探索安卓开发:从基础到进阶的旅程Java中的异常处理:从基础到高级
    【8月更文挑战第30天】在这个数字时代,移动应用已经成为我们日常生活中不可或缺的一部分。安卓系统由于其开放性和灵活性,成为了开发者的首选平台之一。本文将带领读者踏上一段从零开始的安卓开发之旅,通过深入浅出的方式介绍安卓开发的基础知识、核心概念以及进阶技巧。我们将一起构建一个简单的安卓应用,并探讨如何优化代码以提高性能和应用的用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的知识和启发。