private static的意义

private static instance:SoundManager;

此处使用private是为了避免外部调用类名.instance 来进行操作。

private static修饰的属性仅仅可以被静态方法调用,

但是只能被本类中的方法(可以是非静态的)调用,

在外部创建这个类的对象或者直接使用这个类访问都是非法的。

public static修饰的属性除了可以被静态方法和非静态调用之外,

还可以直接被类名和外部创建的对象调用。

原文地址:https://www.cnblogs.com/WentingC/p/8630630.html

时间: 2024-07-31 04:44:14

private static的意义的相关文章

函数构造前面的关键字的区别是什么?public construct private static

1. public  construct  private  static  public function index(){ ... }

原型模式 private static Map<String,Prototype> map = new HashMap<String,Prototype>();

public class PrototypeManager { /** * 用来记录原型的编号和原型实例的对应关系 */ private static Map<String,Prototype> map = new HashMap<String,Prototype>(); /** * 私有化构造方法,避免外部创建实例 */ private PrototypeManager(){} /** * 向原型管理器里面添加或是修改某个原型注册 * @param prototypeId 原型编

private static final long serialVersionUID = 1L;

作者:郭无心链接:https://www.zhihu.com/question/24852886/answer/117314768来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 其实答主想问的是serialVersionUID的作用. 简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的. 在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionU

浅析java修饰符之public default protected private static final abstract

浅析java修饰符之public default protected private static final abstract 一   修饰符的作用:用来定义类.方法或者变量,通常放在语句的最前端 二   分类(大致分两类) 1.访问修饰符,包括:public default protected private 2.非访问修饰符,包括:static final abstract 三 访问修饰符--Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java支持4种不同的访问权

private static final long serialVersionUID = 1L;详解

public class User implements Serializable { /** * serialVersionUID */ private static final long serialVersionUID = 1L; /** * 主键ID */ private Integer userId; /** * 用户名 */ private String userName; /** * 密码 */ private String passWord; /** * 姓名 */ privat

困扰你的private static final long serialVersionUID

很多时候一个新手在写代码的时候,往往你的IDE就会告诉你一个警告 然后你点击处理这个警告之后,它就会默认给你的类生成一个 private static final long serialVersionUID = 1L; 然后强迫症的孩子就一直不明白为什么会需要这个东西,这个东西到底是干嘛用得呢? 然后渐渐的你会发现,这个东西和你写的代码毫无关系,没什么卵用,于是渐渐的你就把他扔在一边了. 这次我就需要来解决这个问题,困扰你的private static final long serialVers

创建servlet类时出现的“private static final long serialVersionUID = 1L;”语句是什么意思啊?

实现java.io.Serializable这个接口是为序列化,serialVersionUID 用来表明实现序列化类的不同版本间的兼容性.如果你修改了此类, 要修改此值. 否则以前用老版本的类序列化的类恢复时会出错. 实现后如果你用的是工具的话会出来警告,他会提示你,可以自动生成private static final long serialVersionUID = 1L; 为了在反序列化时, 确保类版本的兼容性,最好在每个要序列化的类中加入private static final long

Why it is good practice to declare loggers private, static, and final?

// Jakarta Commons Loggingprivate static final Log log = LogFactory.getLog(MyClass.class);The above code also shows another good practice, which is to pass the Class object to the getLog() method, instead of a string. Why the java.util.logging.Logger

私有静态方法private static method-值得用吗?

用Resharper的同学都知道,如果你写了一个私有函数,这个函数没有访问类里面的其他参数和方法,那么它建议你标记这个方法为私有静态方法,提示是这样的: 值得这样做吗?看看微软的建议: After you mark the methods as static, the compiler will emit non-virtual call sites to these members. Emitting non-virtual call sites will prevent a check at