关于Java和kotlin中的静态属性和方法的学习体会
- 静态方法和属性是什么
- Java:用 static 修饰符修饰的属性(成员变量)、常量和成员方法称为静态变量、常量和方法,它们统称为静态成员,归整个类所有,不依赖于类的特定实例,被类的所有实例共享。
- Kotlin:kotlin并没有static关键词,但仍然有静态成员的概念。kotlin会通过companion object生成一个内部静态类,和@JvmStatic注解搭配使用,可以将变量和函数声明为真正的静态成员。
-
什么时候使用静态方法,什么时候使用对象方法
什么情况需要静态方法
- 需要一个数据对象为整个类而非某个对象服务,同时又力求不破坏类的封装性,即要求此成员隐藏在类的内部,对外不可见
- 当一个方法不访问这个类的数据和对象方法
- 在项目的多模块,多个类中不希望创建具体对象就能使用某个类的方法时
什么时候使用对象方法(实例方法)
- 这个方法需要访问这个类的数据 和对象方法,例如需要对某个数据进行存储时
- 需要通过一个实例的对象进行某些操作时
- 使用静态成员函数和静态数据成员的优缺点
1.优点- 节省内存:被所有对象公用,即使有多个对象也只存储一处
- 提高时间效率:静态函数会自动分配在一个一直使用的存储区,直到退出应用实例,避免了调用函数时压栈出栈
- 避免重名冲突:静态函数表示是内部函数,函数作用域仅局限于本文本,避免与其他文件重名冲突
- 缺点
- 静态成员不能访问非静态成员函数和非静态数据成员
- 初始化时便加载到内存,若后续未被引用加大了内存负担和程序运行负担。
- Java和kotlin中的静态方法和静态属性的表现形式有何不同
-
Java
- Kotlin
-