A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiejun 中级黑马   /  2015-12-30 14:34  /  621 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是代码块

12 个回复

正序浏览
大括号里的就叫代码快
回复 使用道具 举报
我理解的代码块就是面向对象的基本结构,有了代码块才能实现面向对象,不然就是面向过程了,那还要java干啥啊,还不如C编程来得实在
回复 使用道具 举报
本帖最后由 李永佳 于 2015-12-31 15:21 编辑

局部代码块:

作用:控制变量的生命周期;

在程序中,当我们已经使用完 x 后,并且在接下来的代码中,不会再用到x,那么就没必要让x 在内存中占用空间了,这用情况下,可以使用 局部代码块,将x及其所设计到的区域封装为局部代码块,他们在程序执行中顺序不变,只是在执行完成后消失。

表现形式,以代码体现如下:

  1. class TestDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 {
  6.                         int x = 9;
  7.                         System.out.println(x);
  8.                 }


  9.                 System.out.println("Hello World !");
  10.         }

  11. }
复制代码


构造代码块:

作用:它可以给所有对象进行初始化
存在于:类中。
当类中的构造方法以重载的形式存在时,并且有共同成员变量或共同的方法时,可以通过构造代码块对其进行初始化;这样可以减少代码的重复!

  1. class Person
  2. {
  3.         private String name;
  4.         private int age;


  5.         {
  6.                 System.out.println("cons code run !");
  7.                
  8.         }


  9.         Person() // 给对应的对象进行初始化
  10.         {
  11.                 System.out.println("Person Now:RUN !");
  12.                 System.out.println("eat————");
  13.         }


  14.         Person (String name , int age)
  15.         {
  16.                 this.name = name ;
  17.                 this.age= age;
  18.                 System.out.println(this.name + "————" + this.age);
  19.                 System.out.println("eat————");
  20.         }
  21.         
  22. }
  23. class ConsCodeDemo
  24. {
  25.         public static void main(String[] args)
  26.         {
  27.                 Person p = new Person();
  28.                 Person p1 = new Person("LiSi" , 23);
  29.         }

  30. }
复制代码


静态代码块:

特点:

1. 随着类的加载而执行,而且只一次。
2. 优先于主函数执行。


作用:给类进行初始化。

当类中的方法都被静态了化,并且构造方法被private了,这是我们不能,在将这个类实例化,然而又想让类增加一些属性,就可以使用静态代码块:

表现形式,以代码体现如下:

  1. class StaticCode
  2. {
  3.         static
  4.         {
  5.                 System.out.println("A");
  6.         }
  7.         public void show()
  8.         {
  9.                 System.out.println("Hello World !");
  10.         }
  11. }
  12. class StaticCodeDemo
  13. {
  14.         static
  15.         {
  16.                 System.out.println("B");
  17.         }
  18.         public static void main(String[] args)
  19.         {
  20.                 new StaticCode().show();
  21.         }
  22.         static
  23.         {
  24.                 System.out.println("C");
  25.         }

  26. }
复制代码



回复 使用道具 举报
希望能够帮到你,一起进步,加油!
回复 使用道具 举报
别的想起来会继续补充的,希望能够帮到你,面向对象这块,先理解定义,如变量,类,方法,局部,这些理解了把调用方法,创建对象等几个流程图看明白记住就没问题了。
回复 使用道具 举报
3:静态代码块:这个相对好理解一些,建议你先看下创建对象时候的内存图,课堂笔记里都有的,静态代码块对我们现在没什么太大的用处(主要是加载驱动的时候用,这也是为什么只需要他再加载类的时候只调用一次),作用是给类进行初始化,生命周期随着类走。
回复 使用道具 举报
2,构造代码块:位置是在类中,在方法外,(这个所在的位置很清楚的),因为他的生命周期是随着构造方法,紧随其后,而且没创建一次对象就要调用一次构造函数,这个构造代码块就紧随着构造方法调用,我理解的是为了初始化变量用(和构造方法的作用一样,起着补充完善的作用);
回复 使用道具 举报
学会了 ,多谢指教
回复 使用道具 举报
局部代码块:理解上可以和局部变量一致,{。。。}这个块是定义在方法中的,作用是为了改变其中的如变量等的生命周期,有利于系统的内存,调用和释放的时间是和方法保持一致,但是局部内部类中有关的局部变量例外,你现在先理解这几大块内容就行;
回复 使用道具 举报
所谓的代码块就是在程序中所有的用{}包含起来的代码,分类大概有局部代码块,静态代码块,构造代码块,同步代码块(这个跟多线程有关,我还没学到)
回复 使用道具 举报
用{}括起来的,写代码的地方啊!
回复 使用道具 举报
就是一段大括号包含的代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马