讨论java 变量 与命名约定

<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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天瞳月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值