Java/C2/Non-static-block/English-timed
From Script | Spoken-Tutorial
| Time | Narration |
| 00:02 | Welcome to the Spoken Tutorial on Non-static block in java. |
| 00:06 | In this tutorial, we will learn: |
| 00:08 | About non-static block |
| 00:10 | When a non-static block is executed? |
| 00:13 | Simple example of non-static block |
| 00:16 | And Why we need constructors? |
| 00:18 | Here we are using:
Ubuntu version 11.10 Java Development Environment jdk 1.6 And Eclipse IDE 3.7.0 |
| 00:26 | To follow this tutorial, you must know |
| 00:29 | how to create a constructor in Java using Eclipse. |
| 00:33 | If not, for relevant tutorials, please visit our website which is as shown. |
| 00:38 | Now we will see, what a non-static block is. |
| 00:42 | Any code written between two curly brackets is a non-static block. |
| 00:46 | We can see the syntax here. |
| 00:51 | When is a non-static block executed ? |
| 00:54 | A non-static block is executed for each object that is created. |
| 00:58 | It executes before the constructor's execution. |
| 01:04 | It can initialize instance member variables of the class. |
| 01:08 | Any other execution like calculation could also be given in the block. |
| 01:14 | Now, let us switch to Eclipse and try to use a non-static block. |
| 01:22 | I have already opened a class named NonStaticTest in Eclipse. |
| 01:28 | I also have a created a class named A . |
| 01:33 | Now inside class A, I will first create a variable of type int. |
| 01:38 | So, type: int a semicolon, then press Enter. |
| 01:46 | Within curly brackets, type: System dot out dot println within brackets and double quotes Non static block of an instance of Class A semicolon. |
| 02:12 | Then, type: System dot out dot println within brackets and double quotes The value of a is plus a semicolon. |
| 02:32 | Now we will declare a constructor. |
| 02:35 | So, type: public A opening and closing brackets open the curly brackets press Enter. |
| 02:51 | Then type: System dot out dot println within brackets and double quotes Constructing object of type A semicolon. |
| 03:10 | Then type: System dot out dot println within brackets and double quotes The value of a is plus a semicolon. |
| 03:35 | Now save this file. |
| 03:44 | Inside class NonStaticTest in Eclipse let us create an object of the class A. |
| 03:53 | So, type: A space a1 equal to new space A opening and closing brackets semicolon. |
| 04:08 | Next line, we will create one more object of class A. |
| 04:12 | So, type: A space a2 equal to new space A opening and closing brackets semicolon. |
| 04:25 | Now, Save and run the file. So, press Ctrl & S and Ctrl & F11 keys. |
| 04:32 | We get the output as follows: |
| 04:35 | As we can see when the first object is created, the non-static block is executed. |
| 04:45 | Non-static block of an instance of class A and the instance variable 'a' is initialized to 0. |
| 04:53 | Only after that the constructor is executed. Constructing object of type A. |
| 05:02 | And here, the instance variable is again initialized to 0. |
| 05:07 | Then again when the second object is created, the non-static block is executed. |
| 05:16 | This process is repeated. |
| 05:20 | We can have multiple non-static blocks in a class. |
| 05:25 | In this case they execute in the sequence in which they appear in the class. |
| 05:30 | We can try that now. |
| 05:34 | Include one more block after the first one in class A. |
| 05:43 | So, again type inside curly brackets: |
| 05:47 | System dot out dot println within brackets and double quotes Second Non static block of an instance of Class A semicolon. |
| 06:08 | Then type: System dot out dot println within brackets and double quotes The value of a is plus a semicolon . |
| 06:30 | Now, save this file , press Ctrl & S key simultaneously then press Ctrl & F11 to run the program. |
| 06:44 | We get the output as follows. |
| 06:48 | We see that after the first block is executed, the second is executed. |
| 06:58 | Only then the constructor is executed. |
| 07:07 | Now you might feel why do we need constructors. |
| 07:10 | The answer is we don't need the default constructor. |
| 07:15 | But the non-static block cannot be parameterized. |
| 07:18 | You cannot have objects taking values from out side. |
| 07:22 | So non-static block is not a substitute for constructor. |
| 07:27 | So, let us summarize. |
| 07:29 | In this tutorial we have learnt |
| 07:32 | about non-static block and how to use this block. |
| 07:35 | For self assessment: Create a class named B. |
| 07:39 | Create a non-static block and a constructor as shown in the tutorial. |
| 07:44 | Create an object of class B in the class NonStaticTest already created. |
| 07:49 | Check the output. |
| 07:51 | To know more about the Spoken Tutorial Project, |
| 07:53 | watch the video available at http://spoken-tutorial.org/What_is_a_Spoken_Tutorial. |
| 07:56 | It summarizes the Spoken Tutorial project. |
| 08:00 | If you do not have good bandwidth, you can download and watch it. |
| 08:03 | The Spoken Tutorial project team: |
| 08:06 | Conducts workshops using spoken tutorials. |
| 08:08 | Gives certificates to those who pass an online test. |
| 08:12 | For more details, please write to contact@spoken-tutorial.org |
| 08:18 | Spoken Tutorial Project is a part of the Talk to a Teacher project. |
| 08:22 | It is supported by the National Mission on Education through ICT, MHRD, Government of India. |
| 08:28 | More information on this mission is available at http://spoken-tutorial.org/NMEICT-Intro. |
| 08:37 | Thus we have come to the end of this tutorial. |
| 08:40 | This is Arya Ratish from IIT Bombay, signing off. Thanks for joining. |
Contributors and Content Editors
Arya Ratish, Devisenan, Gaurav, PoojaMoolya, Sandhya.np14, Sneha