黑马程序员技术交流社区
标题:
代码块的执行顺序-理解
[打印本页]
作者:
Ethan丶
时间:
2015-9-16 11:24
标题:
代码块的执行顺序-理解
本帖最后由 Ethan丶 于 2015-9-16 11:26 编辑
class Code {
static {
int a = 1000;
System.out.println(a);
}
//构造代码块
{
int x = 100;
System.out.println(x);
}
//构造方法
public Code(){
System.out.println("code");
}
//构造方法
public Code(int a){
System.out.println("code");
}
//构造代码块
{
int y = 200;
System.out.println(y);
}
//静态代码块
static {
int b = 2000;
System.out.println(b);
}
}
class CodeDemo {
public static void main(String[] args) {
//局部代码块
{
int x = 10;
System.out.println(x);
}
//System.out.println(x);
{
int y = 20;
System.out.println(y);
}
System.out.println("---------------");
Code c = new Code();
System.out.println("---------------");
Code c2 = new Code();
}
}
复制代码
代码块 { 分为 }
局部代码块;局部限定
构造代码块:{ } 成员位置 对象初始化
静态代码块:static 成员位置 类初始化
执行顺序: 静态代码块》构造代码块》构造方法
tips:静态代码块 只在第一次执行并只执行一次。
作者:
Ethan丶
时间:
2015-9-16 12:51
this 访问本类的成员,super访问父类的成员
子类构造方法执行前先执行父类的午餐构造方法
子类中一定要有一个去访问父类的构造方法,否则父类数据没有初始化。显示调用
super.方法名(参数) 继承的“加功能”应用
子类重写父类方法时,访问权限不能更低
public protected default private
方法重写(Override)能改变返回值类型,方法重载(Overload)(参数列表不同)
作者:
天涯莫名
时间:
2015-9-16 23:30
路过,顶一下
作者:
笑笑精灵
时间:
2015-9-16 23:36
看过,赞一下。
作者:
Ethan丶
时间:
2015-9-17 08:47
本帖最后由 Ethan丶 于 2015-9-17 08:52 编辑
复习一下:
匿名对象anonymous: new Student();
(1)匿名对象就是没有名字的对象。是对象的一种简写形式。
(2)应用场景
A:只调用一次类中的方法。
B:可以作为实际参数在方法传递中使用
作者:
Ethan丶
时间:
2015-9-17 08:52
解析:
public static void main(String[] args)
public:公共的意思,是最大权限修饰符。
static:由于jvm调用main方法的时候,没有创建对象。
只能通过类名调用。所以,main必须用static修饰。
void:由于main方法是被jvm调用,不需要返回值。用void修饰。
main:所以jvm采用了这个名字。main是程序的入口。
String[]:字符串数组
args:数组名
作者:
Ethan丶
时间:
2015-9-17 08:58
回忆起来 之前学过的数组输出方法, 记住为好
//数组输出方法
public static void printArrays(int[] arrays){
System.out.print("[");
for(int i = 0;i<arrays.length;i++){
if(i!=arrays.length-1){
System.out.print(arrays[i]+",");
}else{
System.out.println(arrays[i]+"]");
}
}
}
复制代码
作者:
cloud1991
时间:
2015-9-17 09:08
总结的不错,赞一个
作者:
SuperApollo
时间:
2015-9-17 09:11
不错哦,善于总结
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2