讨论java 变量 与命名约定

来源:互联网 发布:java接口防止重复调用 编辑:程序博客网 时间:2024/06/01 12:02
<pre name="code" class="java">package com.xdl.bean;/** * @author xudaolong *讨论变量与命名约定(可读性) *类名:每个单词首字母大写 *接口名:若名词,同类名;若形容词,able/ible结尾 *方法名:同类名但首单词小写 *枚举名:同类名,枚举集合全大写 *实例和静态变量:名词,同方法名; *参数和局部变量名:首字母缩写词,同方法名; *泛型类型参数名称:大写单个字母,T(类型),E(集合元素),S(服务加载器),K(映射键),V(映射值) *常量名:全大写,辅下划线 *包名:全小写,辅下划线,不宜java/javax开头 */public class XuDaoLong_Various {/** * 变量:成员变量和局部变量 * 成员变量:类变量(即静态变量,由static修饰)和实例变量(非静态变量,没有static修饰) * 局部变量:形参,方法内,代码块内; *  * 状态变量包含实例变量和静态变量 * *static:表示不用实例就可以使用,通过类名访问 *final:不可被修改,或者覆盖. *static+final:不可修改的不可覆盖的全局变量. * *类变量:<!--当对象之间共享值时或者方便访问变量时可使用--> *标志:(静态代码块)static,static{},先后顺序执行(多代码块时),在类的初始化之前初始(最早初始?) *①向前引用,即引用在前,定义在后 *②属于类本身 *③,初始化只分配一次内存,即单次拷贝,为了节省内存,与实例的次数无关 *④全局一致性,随改变而改变 * *静态方法: *①不能使用this或者super,且不能访问所属类的实例变量或者实例方法,要实例化 *②因为static方法独立任何实例,static的方法必须被实现,不能单纯的abstract * *实例变量: *标志:(非静态代码块){},先后顺序执行(多代码块时),提取到类的构造器中执行,但比构造器中的代码块更优先 *①不可向前引用,属于非法向前引用 *②属于类的实例对象 *③随实例被创建而分配空间 */static{name="许道龙-static";System.out.println("我是类变量");}public static String name="许道龙-定义";//以上为类变量private String numberString="1205532142-定义";public XuDaoLong_Various() {setNumberString("1205532142-构造器");System.out.println("我是构造器");}{setNumberString("1205532142-静态代码块");System.out.println("我是非静态代码块");}public String getNumberString() {return numberString;}public void setNumberString(String numberString) {this.numberString = numberString;}}
<span style="font-family: Arial, Helvetica, sans-serif;">@Test</span>
public void variable(){System.out.println(XuDaoLong_Various.name);/*console:我是类变量许道龙-定义我是非静态代码块我是构造器分析:先执行static{}-->name输出结果不是"许道龙-static"的原因在于static是按顺序执行->{}->XuDaoLong_Various()构造器*/XuDaoLong_Various xdl = new XuDaoLong_Various();System.out.println(XuDaoLong_Various.name);//许道龙-定义System.out.println(xdl.name);//许道龙-定义XuDaoLong_Various.name="许道龙-更改后";System.out.println(XuDaoLong_Various.name);//许道龙-更改后System.out.println(xdl.name);//许道龙-更改后System.out.println(xdl.getNumberString());//1205532142-构造器}

0 0
原创粉丝点击