Kotlin定义静态变量、静态方法

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

时间: 2024-10-11 10:29:37

Kotlin定义静态变量、静态方法的相关文章

探讨PHP 静态变量 静态方法 初始化类的问题 哪种写法合格

class Main { static $service; public function __construct() { $this->getService ()->t (); $this->getService ()->t (); } public static function getService1() { return new Service ( "BB" ); } public static function getService2() { if (

C++类内定义静态变量

C++类内定义静态变量只限定与integral类型,比如int.char.long.float.double都行,但是string不行 #include<iostream> #include<string> using namespace std; class testClass { public: static const int _dataI = 2; static const long _dataL = 389l; static const char _dataC = 'A'

静态变量 静态方法

/*作者:qingfeng日期:2017/2/20功能:类变量(静态变量),类方法(静态方法) 统计学费总和*/ public class Demo3_4{ public static void main(String args[]){        Stu s1=new Stu(23,"qingfeng",200);        Stu s2=new Stu(20,"lele",123);        System.out.println(Stu.getTot

1.7Oob 静态变量静态方法

1)静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员 2)如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量. 3)静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法.如: 原文地址:https://www.cnblogs.com/wan19890618123/p/10581984.html

static、静态变量、静态方法

1 静态:static 1.1 用法 是一个修饰符:用于修饰成员(成员变量和成员函数) 1.2 好处 当成员变量被静态static修饰后,就多了一种调用方式,除了可以被对象调用外,还可以直接被类名调用格式:类名.静态成员,也就变成了类变量 2 静态的特点 2.1 随着类的加载而加载,也就是,说静态会随着类的消失而消失,说明静态的生命周期最长 2.2 优先于对象的存在 明确一点:静态是先存在的对象是后存在的 2.3 被所有对象共享 2.4 可以直接用 类名. 调用 3 实例变量和类变量的区别 3.

java中的关键字static(静态变量)和final定义常量

1 package point; 2 3 class Point { 4 5 int x = 0; 6 int y = 0; 7 static int z = 100; // 定义静态变量z,类变量 8 static final double PI = 3.1415926;// final定义常量,它的值在运行时不能被改变 9 10 Point(int a, int b) { 11 //PI=3.1415926; 12 /* 13 * 当使用静态常量的时候,不能在构造函数中初始化, 因为静态时,

PHP 静态变量和静态方法

PHP静态变量静态变量(也叫类变量) 静态的变量的基本用法1.在类中定义静态变量形式:[访问修饰符] static $变量名;例;  //public static $nums=0;2.如何访问静态变量如果在类中访问  有两种方法    self::$静态变量名  ,  类名::$静态变量名如果在类外访问: 有一种方法    类名::$静态变量名 例程:提出一个问题:说,有一群小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在共有多少人在玩?请使用面向对象的思想,编写程序解决 [php] vi

类的相关知识(封装、继承、多态、方法、构造方法、接口、抽象类、静态方法、静态变量等)

类 通过抽象,得到的某一个事物的共同特征. 1.类是抽象的,概念的,代表一类事物,比如人类,猫类-- 2.对象是具体的,实际的,代表一个具体事物 3.类是对象的模板,对象是类的一个个体,实例 class Cat           // Java中类名的首字母大写 { //下面的就是类的成员变量.属性 Int age; String name; String color; } 类的结构: Package 包名: Class 类名 extends 父类 implements 接口名 { 成员变量(

C++类中静态变量和静态方法的注意事项

在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用.所以在所有对象中都可以共享它.使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存. static成员的所有者是类本身和对象,但是多个对象拥有一样的静态成员.从而在定义对象时不能通过构造函数对其进行初始化; 静态成员不能在类定义里边初始化,只能在class body外初始化; 静态变量依旧符合public.private.protect特性; 静态成员函数没有this指针,