Kotlin定义静态变量、静态方法
kotlin定义静态变量、方法可以采用伴生对象companion object的方式。
经典例子,实例化Fragment。
java写法:

public class TestFragment extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String mParam2;

public TestFragment() {
}

public static TestFragment newInstance(String param1, String param2) {
TestFragment fragment = new TestFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_test, container, false);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
kotlin写法:

class TestFragment : Fragment() {
companion object {
private val ARG_PARAM1 = "param1"
private val ARG_PARAM2 = "param2"

fun newInstance(param1: String, param2: String): TestFragment {
val fragment = TestFragment()
val args = Bundle()
args.putString(ARG_PARAM1, param1)
args.putString(ARG_PARAM2, param2)
fragment.arguments = args
return fragment
}
}

private var mParam1: String? = null
private var mParam2: String? = null

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (arguments != null) {
mParam1 = arguments!!.getString(ARG_PARAM1)
mParam2 = arguments!!.getString(ARG_PARAM2)
}
}

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_test, container, false)
}
}
---------------------
作者:清风徐来qfxl
来源:CSDN
原文:https://blog.csdn.net/xuyonghong1122/article/details/80268981
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/weizhxa/p/9982532.html

Kotlin定义静态变量、静态方法相关推荐

  1. python 静态变量 静态方法 简介

    目录 一.静态变量和静态方法 二.静态变量示例 三.静态方法 一.静态变量和静态方法 1.静态变量和静态方法都属于类的静态成员,它们与普通的成员变量和成员方法不同,静态变量和静态方法只属于定义它们的类 ...

  2. Java 静态变量,静态方法,静态常量(java static 关键字)

    Java 静态变量,静态方法,静态常量  就是变量 ,方法,常量前面添加了static 关键字 为什么要使用静态的呢 有时候在处理问题时会需要两个类在同一个内存区域共享一个数据, 不如现在 Main ...

  3. iOS定义静态变量、静态常量、全局变量

    原文链接: iOS定义静态变量.静态常量.全局变量 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com ...

  4. static的三种用法,定义静态变量,静态函数,静态代码块!

    static的三种用法,定义静态变量,静态函数,静态代码块! 1.定义静态变量 class PersonStatic { //静态变量的特点 //1.静态变量无需生成对象就可被调用,可以使用类名和对象 ...

  5. Java中的静态变量静态方法

    静态变量&静态方法 静态变量又叫做类变量,静态方法又被称为类方法--均被static修饰 未被static修饰的成员变量和方法分别被称为实例变量和实例方法 (1)静态方法中不需要它所属类的任何 ...

  6. python定义静态变量_Python 中类的静态变量怎么理解

    Python使用函数默认值实现函数静态变量,如果是静态方法,可以使用@staticmethod标注. 一.Python函数默认值 Python函数默认值的使用可以在函数调用时写代码提供方便,很多时候我 ...

  7. php数组能不能静态,php 为什么常量可以用数组定义 静态变量却不能

    <?php $GLOBALS['arr'] = array(1=>1,2=>2); define("ABC",$GLOBALS['arr'][1]); # 这个定 ...

  8. python定义静态变量_对Pyhon实现静态变量全局变量的方法详解

    python不能像C++一样直接定义一个static变量或者通过extern来导入别的库的变量而实现数据共享,但是python的思想是通过模块化来解决这个问题,就是通过模块来实现全局变量. 首先新建一 ...

  9. 静态成员调用java,Java 反射 静态变量 静态方法 静态成员 调用 获取修饰符 判断是否为静态...

    当使用Java反射机制操作类成员时,传入对象的参数改成传入null package com.zuozuo.test; import java.lang.reflect.Field; import ja ...

最新文章

  1. mysql 新增 删除用户和权限分配
  2. PennyLane | 用于量子计算机可微分编程的跨平台Python库
  3. 字节通常用英文单词bit来表示_字节跳动为什么有字节2个字,因为程序的真谛:字节...
  4. html5新增属性有哪些,HTML5 新增属性
  5. 二、stm32f103+enc28j60
  6. 2022年改变数据中心行业的八大趋势
  7. MySQL / 为什么需要主键?主键为什么最好是单调递增的?
  8. 使用Hystrix DSL创建弹性骆驼应用程序
  9. hbase java api count_HBase内置过滤器java api的总结
  10. 我的内核学习笔记4:sysfs学习
  11. java使用poi(XSSFWorkbook)读取excel(.xlsx)文件
  12. Java之JVM调优案例分析与实战(5) - 服务器JVM进程奔溃
  13. TensorFlow模型保存和提取方法(含滑动平均模型)
  14. .net 2.0 只读TextBox取值问题
  15. 【路径规划】基于matlab灰狼算法求解机器人栅格地图路径规划问题【含Matlab源码 1761期】
  16. simulink 汽车低压电网简单仿真
  17. 《动手学深度学习》(PyTorch版)代码注释 - 55 【Text_sentiment_classification(textCNN)】
  18. HMI-43-【节能模式】顶部标题栏和底部信息栏及灯光及启动动画
  19. Hive计算引擎大PK,万字长文解析MapRuce、Tez、Spark三大引擎
  20. 过期策略(TTL)与淘汰策略

热门文章

  1. graphics | 基础绘图系统(九)——栅格图、点密度图、等高线(填充)图、三维图...
  2. HTML5和Web前端有什么区别?具备HTML5技能的人薪资多少?
  3. python3的socket_python3的socket使用
  4. raid硬盘序列号_磁盘阵列出现坏盘,如何正确更换硬盘?
  5. python3.5模块大全-python tkinter模块使用大全(超全)
  6. 计算机管理要继续请输入,若要继续,请键入管理员密码然后单击是问题解决方法...
  7. sql注入pythonpoco_ctf学习
  8. python大作业代码_大二期末python大作业有效代码不低于5000行是什么水平?
  9. mysql 忘记密码处理方式
  10. centos设置启动mysql,Centos设置开机启动Apache和Mysql