黑马程序员——面向对象(静态代码块)-第15天
2015-09-01 17:02
477 查看
[b]----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
[/b]面向对象(静态代码块)
格式:static
{
静态代码块中的执行语句。
}
特点:随着类的加载而执行,只执行一次。并优先于主函数。
用于给类进行初始化的。
class StaticCode
{
static
{
system.out.println("a");
}
}
class StaticCodeDemo
{
static
{
system.out.println("b"); //1先打印b
}
public static void main(String[] args)
{
new StaticCode();//2打印a。只执行一次类StaticCode中的静态代码块
new StaticCode();//这次不打印。
system.out.println("over");
}
//打印:
b
a
例子2:
class StaticCode
{
static
{
system.out.println("a");//1打印a
}
public staticvoid show()
{
system.out.println("showrun");//2打印show run
}
}
class StaticCodeDemo
{
static
{
}
public static void main(String[] args)
{
StaticCode.show();//静态,类名调用
}//当主函数也有静态代码块
static
{
system.out.println("c");//3然后打印c
}
}
//打印:
a
show run
c
例子3:
class StaticCode
{
StaticCode()
{
system.out.println("b");
}
static
{
system.out.println("a");
}
{//匿名代码块,也是随着类的加载而加载
system.out.println("c");
}
StaticCode(int x)
{
system.out.println("d");
}
public static void show()
{
system.out.println("show run");
}
}
class StaticCodeDemo
{
static
{
}
public static void main(String[] args)
{
new.StaticCode(4);
}
static
{
}
}
//打印
a
c
d
例子4:
class StaticCode
{
int num=9;
StaticCode()//构造函数
{
system.out.println("b");
}
Static//静态
{
system.out.println("a"+num);//编译错误。静态成员无法引用非静态成员num
}
}
例子5:
class StaticCode
{
int num=9;
StaticCode()//构造函数
{
system.out.println("b");
}
Static//静态代码块
{
system.out.println("a");
}
{//代码块
system.out.println("c"+this.num);//引用本类成员中的num,但是代码块优先于主函数存在,优先于int num=8;故此时this.num,默认值为空。
}
StaticCode(int x)
{
system.out.println("d");
}
}
class StaticCodeDemo
{
static
{
}
public static void main(String[] args)
{
new.StaticCode(4);
}
//打印
a
c
d
相关文章推荐
- 面试题:23从上往下打印二叉树
- 总结做完第一期项目
- 浅谈机器学习的职业发展方向
- 黑马程序员——Java之IO流
- 腾讯面试题:走台阶
- 面试题22:栈的压入弹出序列
- google的面试题(三维动态规划的范例)——(87)Scramble String
- 面试题21:包含min函数的栈
- 剑指offer——面试题37:两个链表的第一个公共结点(哈希,栈)
- 面试题20:顺时针打印矩形
- 剑指offer——面试题36:数组中的逆序对(归并排序)
- 黑马程序员——40,File类和Properties类
- 面试题31.连续子数组的最大和
- Freelancer 之潮:自由职业市场的崛起
- 程序员进阶
- 一道面试题
- 4大国外自由职业者项目外包网站
- 网友网易面试经历学习---阿冬专栏
- 程序员必备:技术面试准备手册
- 程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。