我正在开发一个Web应用程序,其中有一个名为getData()
的实用程序方法,我将其作为一个静态方法。 到现在为止它很好,但是这种名为getData()
的静态方法需要来自setter和getters的一些数据。 所以现在我的问题是我们可以让setter/getters成为静态的吗?是否允许使用静态setter/getters?
回答
如果你的属性是static
然后Getters and setters
也将是static
..它的一切都取决于你..
如果获取/设置静态字段,则获取者和设置者可以是静态的。
是的,可以根据您的需要将getter/setters设置为静态。或者,也许我不明白你的问题!
是你可以和任何那个对象/变量的定义,他们看起来像
private static String abc = "";
该类
,你可以使用get/set方法
public static String getString(){
return abc;
}
public static void setString(String newAbc){
abc = newAbc;
}
访问这个对象,你可以使用这个喜欢这种方式Test.getString(); or Test.setString("new string");
你也可以定义这个get/set方法作为普通的方式,而不需要定义static关键字,但是你需要创建该类的实例。静态用于创建可以访问其成员的类的实例。
当然可以。 Getter和setter只是普通的方法。 它们可以是静态的或不是。
唯一的约束是,不要在静态方法中使用非静态字段和方法。由于静态方法和静态字段属于一个类,而非静态方法和字段属于该对象。他们是我认为的两个不同的层次。
如果使用任何非静态属性或属性,则无法使getter和setter方法为静态方法。如果您使用Eclipse和Netbeans之类的IDE,他们会提醒您,甚至可能不会编译代码。
当然,你可以让getter和setter成为静态的(带有适当的静态字段)。
但是:当你正在处理一个Web应用程序(多个并行的请求 - 多线程),你一定有一个线程问题在这里 - 这是不是线程安全除非你照顾(如使用) 。
如何获取静态获取地图?这一行动是否需要同步? – Amalgovinus
取决于您是否要更改地图的数据。使地图最终决定,你会没事的! – kaiser
- 1. 是否有允许静态和动态打字的语言?
- 2. Timepicker不是静态的允许
- 3. 是否允许在Java中声明顶级类为静态
- 4. 是否允许全局静态标识符以单个_开头?
- 5. 使用许多静态函数是否有任何副作用?
- 6. CORS是否允许使用“Prefer”标头?
- 7. BQL是否允许使用DatePart?
- 8. 是否允许使用foreach这样做?
- 9. nasm:是否允许使用“global _start:”?
- 10. iOS:是否允许使用libIOKit.dylib
- 11. CORS请求是否允许使用Origin?
- 12. 是否允许使用匿名函数?
- 13. 为什么静态块中不允许使用静态字段声明?
- 14. 静态数组,可变大小允许?
- 15. ASP MVC允许静态HTML文件
- 16. 静态断言结构允许吗?
- 17. 允许静态方法访问DAO
- 18. 允许Cuda中的静态大阵列
- 19. 允许CORS静态内容在MVC
- 20. 允许来自特定的静态IP
- 21. 使用“最终静态”还是“静态最终”是否正确?
- 22. 设计 - 不允许使用抽象静态方法
- 23. 嵌套静态类中不允许使用扩展方法吗?
- 24. 为什么在静态方法中不允许使用“this”?
- 25. 为什么applet中允许使用非静态方法?
- 26. soundcloud:是否允许使用api-v2,并且是否有文档?
- 27. 保留UITouch:是否允许?
- 28. 是否允许类转换?
- 29. 是否允许LEA [x],[y]?
- 30. MapKit是否允许StreetView?
您无法从静态方法访问实例字段。 – StKiller