这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战
- static 修饰成员变量
成员变量可以分为2类:
- 静态成员变量 (有static修饰,属于类,内存中加载一次):常表示如在线人数信息,等需要被共享的信息,可以被共享访问。
- 实例成员变量 (无static修饰,存在于每个对象中):常表示姓名、年龄 等属于每个对象的信息。
1 | ini复制代码 |
- static 修饰成员方法的基本用法
成员方法的分类:
静态成员方法(有static修饰,属于类)建议用类名访问,也可以使用对象访问。
实例成员方法 (无static修饰,属于对象),只能用对象触发访问。
使用场景:
表示对象自己的行为的,且方法中更需要访问实例成员的,则该方法必须申明成实例方法。
如果该方法是以执行一个通用功能为目的,或者需要方便访问,则可以申明成静态方法。
1 | csharp复制代码 |
1.成员方法的分类和访问分别是什么样的?
静态成员方法(有static 修饰,属于类和对象共享)访问格式
类名.静态成员方法。
对象.静态成员方法。(不推荐)
实例成员方法 (无static修饰,属于对象)的访问格式:
对象.实例成员方法。
- 每种成员方法的使用场景是什么样的?
表示对象自己的行为的,且方法中需要访问实例成员的,则该方法必须申明成实例方法。
如果该方法是以执行一个通用功能为目的,或者需要方便访问,则可以申明成静态方法。
- static修饰成员方法的内存原理
加载类的时候,同时静态方法会暴露出调用接口,供调用
- static 实际应用案例:使用静态方法 定义 工具类
工具类:
对于一些应用程序中,多次需要用的功能,可以将这些功能封装成静态方法。放在一个类中,这个类就是工具类。
工具类的作用:一是方便调用,二是提高了代码复用。
工具类原理和延伸:
一次编写,处处可用。
建议将工具类的构造器私有,不让工具类对外产生对象。
1 | typescript复制代码public class Login { |
1 | arduino复制代码 |
工具类不需要创建对象,构造器私有化。让调用者使用类名来调用,节约内存。
本文转载自: 掘金