smali语言详解之类的声明
smali语言详解之类的声明
一、smali语言的类声明格式
.class 权限修饰关键字 类的全包名路径
二、示例
2.1、一般类(无继承和接口实现)
java代码如下
public class Test {}
用smali代码表示如下
.class public Lcom/ylw/test;#(此行不可删)Lcom/ylw/test;为类的全包名路径,根据实际情况有所不同
.super Ljava/lang/Object;#(此行不可删)声明父类,当没有使用extends写明继承时,默认继承Object类
.source "Test.java"#(此行可删)#表示此smali代码对应的java源码文件
2.2、此类继承自某个类extends
java代码如下
public class MainActivity extends AppCompatActivity {}
用smali代码表示如下
.class public Lcom/ylw/activity/MainActivity;#(此行不可删)Lcom/ylw/activity/MainActivity;为类的全包名路径,根据实际情况有所不同
.super Landroidx/appcompat/app/AppCompatActivity;#(此行不可删)声明父类,当使用extends写明继承时,使用继承类的全包名路径
.source "MainActivity.java"#(此行可删)#表示此smali代码对应的java源码文件
2.3、此类实现了某个接口implements
java代码如下
public class DataPackage implements Serializable {}
用smali代码表示如下
.class public Lcom/ylw/utils/DataPackage;#(此行不可删)Lcom/ylw/utils/DataPackage;为类的全包名路径,根据实际情况有所不同
.super Ljava/lang/Object;#(此行不可删)声明父类,当没有使用extends写明继承时,默认继承Object类
.source "DataPackage.java"#(此行可删)#表示此smali代码对应的java源码文件# interfaces
.implements Ljava/io/Serializable;#(此行不可删)写明此类实现接口的全包名路径Ljava/io/Serializable;
三、关于全包名路径
以大写L开头,以/分割,以分号结尾
smali语言详解之类的声明相关推荐
- smali语言详解之static静态代码块的声明与静态变量初始化赋值位置
smali语言详解之static静态代码块的声明与静态变量初始化赋值位置 一.smali语言的静态代码块声明格式 .method static constructor <clinit>() ...
- smali语言详解之一般/构造方法(函数)的声明与返回值关键字
smali语言详解之一般/构造方法(函数)的声明与返回值关键字 一. smali语言的方法声明格式 .method与.end method成对出现,类似于java中的花括号 1.1.非静态的一般方法 ...
- smali语言详解之字段的声明(变量、常量)
smali语言详解之字段的声明(变量.常量) 一.smali语言的字段声明格式 1.1.非静态变量 .field 权限修饰关键字 变量名:变量类型的全包名路径或与java对应的数据类型关键字 1.2. ...
- smali语言详解之创建对象
smali语言详解之创建对象 一.smali语言创建对象分两步进行 第一步,声明对象实例,格式如下 new-instance 变量名,该对象对应类的全包名路径 第二步,调用构造方法(如果构造方法内还定 ...
- smali语言详解之方法的调用
smali语言详解之方法的调用 一.方法调用关键字介绍 smali语言方法调用关键字主要有以下五种 invoke-virtual主要用于非私有实例方法的调用.实例方法指不是构造方法.父类方法等的属于这 ...
- Drools 规则语言详解(上)
http://www.blogjava.net/guangnian0412/archive/2006/06/09/51574.html http://www.blogjava.net/guangnia ...
- c++ using 前置声明_详解C++ 前置声明
前置声明是C/C++开发中比较常用的技巧,主要用在三种情形: 变量/常量,例如extern int var1;; 函数,例如void foo();,注意类的成员函数无法单独做前置声明: 类,例如cla ...
- 如何用c语言编写stm32的程序吗,STM32入门C语言详解
<STM32入门C语言详解>由会员分享,可在线阅读,更多相关<STM32入门C语言详解(6页珍藏版)>请在人人文库网上搜索. 1.最新 料推荐阅读 flash : 芯片内部存储 ...
- 克鲁斯卡尔算法c语言,Kruskal算法(一)之 C语言详解
最小生成树 在含有n个顶点的连通图中选择n-1条边,构成一棵极小连通子图,并使该连通子图中n-1条边上权值之和达到最小,则称其为连通网的最小生成树. 例如,对于如上图G4所示的连通网可以有多棵权值总和 ...
最新文章
- 密码学系列之:碰撞抵御和碰撞攻击collision attack
- 2021牛客暑期多校训练营3 I-Kuriyama Mirai and Exclusive Or(异或+差分)
- 各种模板(数学数论字符串)
- Dcloud+mui 压缩上传图片到服务器
- EIGRP的基本配置
- linux精简版远程登录,Linux下如何定制SSH来简化远程访问
- GridView 中的事件
- JavaSE: SuppressWarnings[转]
- Linux 快捷键记录栏
- Hadoop 2.6.0 HA高可用集群配置详解
- 简单介绍Spring是什么?
- 数电模电基础(1)分压电路
- PHP利用JWT实现token和refresh_token
- 小米mix2安兔兔html5跑分,小米MIX 2S跑分多少?高通骁龙845安兔兔跑分实测 (全文)...
- 读取图像教程,生成h5py文件的教程
- “店小二”精神国际化步伐23年成就巨无霸
- 企业经营数据分析-读后感
- Harmonious Graph
- Backtrader(十一) - Indicator指标
- 计算机操作系统-文件管理 知识点归纳