Difference between revisions of "Java/C2/Using-this-keyword/English-timed"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 5: Line 5:
 
|-
 
|-
 
| 00:02
 
| 00:02
জাভাতে '''this''' কীওয়ার্ড ব্যবহারের কথ্য টিউটোরিয়ালে আপনাদের স্বাগত।
+
Welcome to the Spoken Tutorial on using this keyword in java.
  
 
|-
 
|-
 
| 00:07  
 
| 00:07  
এই টিউটোরিয়ালে আমরা শিখব
+
In this tutorial we will learn
  
 
|-
 
|-
 
| 00:09
 
| 00:09
|'''this''' কীওয়ার্ডের ব্যবহার সম্পর্কে।
+
| About use of this keyword
  
 
|-
 
|-
 
| 00:11
 
| 00:11
ফীল্ডের সাথে '''this''' কীওয়ার্ডের ব্যবহার।
+
To use this keyword with fields
  
 
|-
 
|-
 
| 00:14
 
| 00:14
| this কীওয়ার্ড কন্সট্রকটরের শৃঙ্খলার জন্য ব্যবহার।
+
| To use this keyword for chaining of constructors.
  
 
|-
 
|-
 
| 00:17
 
| 00:17
এখানে আমরা
+
Here we are using
  
*উবুন্টু সংস্করণ '''11.10'''
+
*Ubuntu version 11.10
*'''jdk 1.6'''
+
*jdk 1.6
*এবং '''Eclipse 3.7.0''' ব্যবহার করছি।
+
*Eclipse 3.7.0  
  
 
|-
 
|-
 
|  00:28
 
|  00:28
| এই টিউটোরিয়াল অনুসরণ করতে
+
| To follow this tutorial you must know
  
 
|-
 
|-
 
| 00:30
 
| 00:30
এক্লীপ্স ব্যবহার করে কন্সট্রকটর তৈরী সম্পর্কে জানা আবশ্যক।
+
how to create a constructor in java using eclipse.
  
 
|-
 
|-
 
| 00:34
 
| 00:34
না হলে, প্রাসঙ্গিক টিউটোরিয়ালের জন্য আমাদের ওয়েবসাইট পরিদর্শন করুন।
+
If not, for relevant tutorials please visit our website which is as shown,
 
+
('''http'''://'''www.spoken'''-'''tutorial.org''')
+
  
 +
(http://www.spoken-tutorial.org)
 
|-
 
|-
 
| 00:40
 
| 00:40
|এখন আমরা this কীওয়ার্ডের ব্যবহার দেখব।
+
|Now we will see the use of this key word
  
 
|-
 
|-
 
| 00:44
 
| 00:44
| কন্সট্রকটরের মধ্যে, এটি হল বর্তমান অবজেক্টের রেফারেন্স।
+
| Within a constructor, this is a reference to the current object.
  
 
|-
 
|-
 
| 00:48
 
| 00:48
'''this''' ব্যবহার করে আমরা কন্সট্রকটরের মধ্যে বর্তমান অবজেক্টের যেকোনো সদস্য রেফার করতে পারি।
+
We can refer any member of the current object within a constructor using this.
  
 
|-
 
|-
 
| 00:55
 
| 00:55
|এখন আমরা ফীল্ডের সাথে '''this''' কীওয়ার্ডের ব্যবহার দেখব।  
+
|Now we will see the use of this keyword with fields.  
  
 
|-
 
|-
 
| 01:00
 
| 01:00
| '''this''' কীওয়ার্ড আমাদের নামের দ্বন্দ্ব এড়াতে সাহায্য করে।
+
| this keyword helps us to avoid name conflicts.
  
 
|-
 
|-
 
| 01:07
 
| 01:07
আমরা এখানে একটি এরকম উদাহরণ দেখতে পারি।
+
We can see such an example here.
 
|-
 
|-
 
|  01:10
 
|  01:10
এরজন্য '''Eclipse''' খোলা যাক।
+
For that let us open Eclipse.
  
 
|-
 
|-
 
| 01:17
 
| 01:17
'''Student''' ক্লাস খুলুন যা আমরা আগের টিউটোরিয়ালে তৈরী করেছি।
+
Open the Student class we had created in the earlier tutorial.
  
 
|-
 
|-
 
| 01:23
 
| 01:23
'''default constructor''' কমেন্ট করুন, 1টি প্যারামিটারের সাথে '''constructor''' কমেন্ট করুন।
+
Comment the default constructor comment the constructor with 1 parameter.
  
 
|-
 
|-
 
| 01:40
 
| 01:40
এছাড়াও প্রথম দুটি অবজেক্ট তৈরী করতে কোড কমেন্ট করুন।
+
Also comment the code for creating the first two objects.
  
 
|-
 
|-
 
| 02:03
 
| 02:03
এখন '''parameterized constructor''' লক্ষ্য করুন।
+
Now, notice the parameterized constructor.
  
 
|-
 
|-
 
| 02:11
 
| 02:11
| '''the_roll_number''' এবং '''the_name''' আর্গুমেন্ট কন্সট্রকটরে পাস করেছে।
+
| the_roll_number and the_name are the arguments passed to the constructor.
  
 
|-
 
|-
 
| 02:20
 
| 02:20
'''roll_number''' এবং '''name''' হল instance ভ্যারিয়েবল।
+
|  roll_number and name are the instance variables.
  
 
|-
 
|-
 
| 02:26
 
| 02:26
এখন, আর্গুমেন্টকে নিজেই roll_number এবং name এ পরিবর্তন করি।
+
Now, let me change the arguments to roll_number and name itself.
  
 
|-
 
|-
 
| 02:39
 
| 02:39
সুতরাং কন্সট্রকটরে রয়েছে:
+
So inside the constructor we have:  
  
 
|-
 
|-
 
| 02:42
 
| 02:42
'''roll_number = roll_number''' এবং '''name = name'''.
+
|  roll_number equal to roll_number and name equal to name.
  
 
|-
 
|-
 
| 02:55
 
| 02:55
|এখন ফাইল সংরক্ষণ করে রান করুন। তাই Ctrl ,S এবং Ctrl, F11 টিপুন।
+
|Now Save and run the file.So pressCtrl ,Sand Ctrl, F11
  
 
|-
 
|-
 
|  03:04
 
|  03:04
আমরা নিম্নরূপে আউটপুট পাই:
+
We get the output as follows:  
  
 
|-
 
|-
 
| 03:07
 
| 03:07
''' I am a Parameterized Constructor
+
|  I am a Parameterized Constructor
  
 
0
 
0
  
null'''
+
null
 +
 
  
 
|-
 
|-
 
| 03:12
 
| 03:12
| এখন কোডে ফিরে আসি।
+
| Now come back to the code.
 +
 
  
 
|-
 
|-
 
| 03:17  
 
| 03:17  
| আমরা কোডে দুটি সতর্কবার্তা দেখি।
+
| We see 2 warnings in the code.
 
|-
 
|-
 
| 03:20
 
| 03:20
মাউস ওয়ার্নিং সিম্বলে নিয়ে যান।
+
Hover your mouse over the warning symbol.
  
 
|-
 
|-
 
| 03:23
 
| 03:23
|আমরা দেখতে পারি যে '''The assignment to the variable roll_number has no effect
+
|We can see The assignment to the variable roll_number has no effect.
 
'''
 
'''
 
|-
 
|-
 
| 03:29
 
| 03:29
| এবং '''The assignment to the variable name has no effect.'''
+
| And The assignment to the variable name has no effect.
  
 
|-
 
|-
 
| 03:33
 
| 03:33
এর কারণ হল কন্সট্রকটরে '''roll_number''' এবং '''name''' হল লোকাল ভ্যারিয়েবল।
+
This is because in the constructor roll_number and name are local variables.
  
 
|-
 
|-
 
| 03:40
 
| 03:40
লোকাল ভ্যারিয়েবল হল সেই ভ্যারিয়েবল যা মেথড বা ব্লকের মধ্যে উপলব্ধ।
+
Local variables are variables that are accessible within the method or block.
  
 
|-
 
|-
 
| 03:47
 
| 03:47
এখানে, '''roll_number''' এবং '''name 11''' এবং '''Raju''' তে ইনিসিয়েলাইজ করা হবে।
+
Here, roll_number and name will be initialized to 11 and Raju.
 
|-
 
|-
 
| 03:54
 
| 03:54
| কারণ আমরা '''11''' এবং '''Raju''' কন্সট্রকটরে পাস করেছি।
+
| Because we have passed the values 11 and Rajuthe constructor.
  
 
|-
 
|-
 
| 04:01
 
| 04:01
| কিন্তু একবার তা কন্সট্রকটরের বাইরে এলে, তা এক্সেস করা সম্ভব নয়।
+
| But once they come out of the constructor, it is not accessible.
  
 
|-
 
|-
 
| 04:06
 
| 04:06
| তারপর আমাদের জানা শুধুমাত্র '''roll_number''' এবং '''name''' হল ইন্সট্যান্স ভ্যারিয়েবল।
+
| Then the only roll_number and name we know are the instance variables.
  
 
|-
 
|-
 
| 04:13
 
| 04:13
একবার অবজেক্ট তৈরীর পর তাদের ইতিমধ্যে '''0''' এবং '''null''' এ ইনিসিয়েলাইজ করা হয়েছে।
+
They have been initialized to 0 and null already once the object is created.
  
 
|-
 
|-
 
| 04:18
 
| 04:18
আমরা '''0''' এবং '''null''' হিসাবে আউটপুট পেয়েছি।
+
So we got the output as 0 and null.
 
|-
 
|-
 
| 04:21
 
| 04:21
এখন, কন্সট্রকটরের মধ্যে একটি ছোট পরিবর্তন করা যাক।
+
Now, let us make a small change inside the constructor.
  
 
|-
 
|-
 
| 04:29
 
| 04:29
| তাই লিখুন '''this dot roll_number = roll_number'''.  
+
| So type this dot roll_number equal to roll_number.  
  
 
|-
 
|-
 
| 04:37
 
| 04:37
এবং '''this dot name = name'''.
+
And this dot name equal to name.  
 
+
 
|-
 
|-
 
| 04:44
 
| 04:44
এখন ফাইল সংরক্ষণ করে রান করুন। তাই Ctrl, S এবং Ctrl, F11 কী টিপুন।
+
Now save and run the file. So press ctrl, S And Ctrl, F11 keys
  
 
|-
 
|-
 
| 04:51
 
| 04:51
| আমরা নিম্নরূপে আউটপুট পাই:
+
| We get the output as
  
 
|-
 
|-
Line 198: Line 198:
 
'''I am Parameterized Constructor'''
 
'''I am Parameterized Constructor'''
  
'''11''' এবং
+
'''11''' and
  
 
'''Raju'''
 
'''Raju'''
Line 204: Line 204:
 
|-  
 
|-  
 
| 04:58
 
| 04:58
এর কারণ হল '''this dot roll_number''' এবং '''this dot name''' ইন্সট্যান্স ভ্যারিয়েবল '''roll_number''' এবং '''name''' এ রেফার করে।
+
This is because this dot roll_number and this dot name refers to the instance variables roll_number and name.
 +
 
 +
 
  
 
|-
 
|-
 
| 05:12
 
| 05:12
|এবং এখানে ''' roll_number''' এবং '''name''' হল আর্গুমেন্ট যা মেথডে পাস করা হয়েছে।
+
|And here roll_number and name are the arguments passed in the method.
  
 
|-
 
|-
 
| 05:19
 
| 05:19
লোকাল এবং ইন্সট্যান্স ভ্যারিয়েবলের মধ্যে দ্বন্দ্ব এড়াতে আমরা '''this''' কীওয়ার্ড ব্যবহার করি।
+
To avoid confliction between local and instance variables we use this keyword.
  
 
|-
 
|-
 
| 05:29
 
| 05:29
এখন কন্সট্রকটরের শৃঙ্খলার জন্য আমরা '''this''' কীওয়ার্ডের ব্যবহার দেখব।
+
Now we will see the use of this keywords for chaining of constructor.
  
 
|-
 
|-
 
| 05:34
 
| 05:34
'''this''' কীওয়ার্ডের ব্যবহার কন্সট্রকটরে অন্য কন্সট্রকটর কল করতে করতে পারি।
+
We can use this keyword inside a constructor to call another one.
  
 
|-
 
|-
 
| 05:39
 
| 05:39
কন্সট্রকটর একই ক্লাসে হতে হবে।
+
The constructors must be in the same class.
  
 
|-
 
|-
 
| 05:43
 
| 05:43
| একে '''explicit constructor invocation''' বলা হয়।
+
|   This is called explicit constructor invocation
 
|-
 
|-
 
| 05:46
 
| 05:46
  
| এখন '''Student''' ক্লাসে ফিরে আসি যা আমরা তৈরী করেছি।
+
| So let us come back to the Student class which we created.
  
 
|-
 
|-
 
|  05:53
 
|  05:53
|এখন কমেন্টগুলি মুছে ফেলুন।
+
|Now Remove the comments.
  
 
|-
 
|-
 
| 06:28
 
| 06:28
| এখন প্রথম দুটি কন্সট্রাকটরে ইন্সট্যান্স ভ্যারিয়েবলকে তাদের মানে এসাইন করতে এই অংশ কমেন্ট করুন।
+
| Now comment the part to assign the instance variables to their values in the first two constructors.
  
 
|-
 
|-
 
| 06:52
 
| 06:52
|তারপর সেই অংশ কমেন্ট করুন যা দ্বিতীয় এবং তৃতীয় অবজেক্ট তৈরি করে।
+
|Then Comment the part which creates the second and third objects.
  
 
|-
 
|-
 
|  07:08
 
|  07:08
| এখন প্রথমে প্যারামিটার ছাড়া কন্সট্রকটরে আসা যাক।
+
| Now let us first come to the constructor with no parameters.
  
 
|-
 
|-
 
| 07:16
 
| 07:16
কোঁকড়া বন্ধনীর পর লিখুন this প্রথম বন্ধনীতে 11 এবং সেমিকোলন।
+
After curly brackets type this within brackets 11 and semicolon.
 
+
 
|-
 
|-
 
|  07:28
 
|  07:28
| দ্বিতীয় কন্সট্রকটরে লিখুন this প্রথম বন্ধনীতে 11 কমা ডাবল উদ্ধৃতির মধ্যে Raju সেমিকোলন।
+
| Inside the second constructor type this within brackets 11 comma within double quotes Raju semicolon.
 
   
 
   
 
|-
 
|-
 
| 07:42
 
| 07:42
| এখন ফাইল সংরক্ষণ করে রান করুন। তাই Ctrl, S এবং Ctrl, F11 টিপুন।
+
| Now Save and Run the file. So press Ctrl,S and Ctrl , F11.
  
 
|-
 
|-
 
| 07:49
 
| 07:49
আমরা নিম্নরূপে আউটপুট পাই:
+
We get the output as 
  
 
|-
 
|-
Line 278: Line 279:
 
|  '''I am Default Constructor'''
 
|  '''I am Default Constructor'''
  
'''11''' এবং
+
'''11''' and
 
'''Raju'''
 
'''Raju'''
  
 
|-
 
|-
 
|  08:02
 
|  08:02
| এখন, আমি আউটপুট ব্যাখ্যা করব।
+
| Now, I will explain the output.
  
 
|-
 
|-
 
| 08:08
 
| 08:08
অবজেক্ট তৈরীর পর, তার সম্বন্ধীয় কন্সট্রকটর কল করা হয়।
+
When the object is created, the respective constructor gets called.
  
 
|-
 
|-
 
| 08:13
 
| 08:13
এখানে উপস্থিত কন্সট্রকটর হল '''no argument constructor'''.
+
The constructor here is the no argument constructor.
 +
 
 +
 
 +
 
  
 
|-
 
|-
 
| 08:20
 
| 08:20
কন্ট্রোল কন্সট্রকটরে প্রথম লাইনে আসে।
+
The control comes to the first line in the constructor.
 +
 
 +
 
 +
 
  
 
|-
 
|-
 
| 08:24
 
| 08:24
| এটি this বন্ধনীতে 11 স্টেটমেন্ট এনকাউন্টার করে।
+
| It encounters the this within brackets 11 statement.
  
 
|-
 
|-
 
| 08:26
 
| 08:26
তাই এটি সেই কন্সট্রকটর কল করে যা একক ইন্টিজার আর্গুমেন্ট গ্রহণ করে।
+
Hence it calls the constructor that accepts single integer argument.
  
 
|-
 
|-
 
| 08:36
 
| 08:36
তারপর কন্ট্রোল this প্রথম বন্ধনীতে 11 কমা Raju তে আসে।
+
Then the control comes to this within brackets 11 comma Raju.
  
 
|-
 
|-
 
| 08:44
 
| 08:44
সুতরাং এটি কন্সট্রকটর কল করে যা 1 টি ইন্টিজার এবং 1 টি স্ট্রিং গ্রহণ করে।
+
Hence it calls the constructor that accepts 1 integer and 1 String argument.
  
 
|-
 
|-
 
| 08:53
 
| 08:53
সুতরাং এই কন্সট্রকটর এক্সিকিউট হয়েছে এবং আমরা আউটপুট পাই '''I am Parameterized Constructor'''.
+
So this constructor is executed and we get the output as I am Parameterized Constructor.  
  
 
|-
 
|-
 
| 09:02
 
| 09:02
|যেই আমরা পাস করি ইন্সট্যান্স ভ্যারিয়েবল এখন 11 এবং Raju তে ইনিসিয়েলাইজ করা হবে।
+
|Now the instance variables will be initialized to 11 and Raju.As we have passed.
  
 
|-
 
|-
 
| 09:11
 
| 09:11
এখন, কন্ট্রোল '''calling''' কন্সট্রকটরে ফেরৎ যায়।
+
Now, the control goes back to the calling constructor.
  
 
|-
 
|-
 
| 09:16
 
| 09:16
সুতরাং দ্বিতীয় কন্সট্রকটর এক্সিকিউট করা হয়।
+
So the second constructor gets executed.
  
 
|-
 
|-
 
| 09:19
 
| 09:19
আমরা আউটপুট পাই '''I am constructor with a single parameter.'''
+
We get the output as I am constructor with a single parameter.
  
 
|-
 
|-
 
| 09:25  
 
| 09:25  
তারপর, কন্ট্রোল প্রথম কন্সট্রকটরে যায় এবং এক্সিকিউট করে।
+
Then, the control goes to the first constructor and executes it.
  
 
|-
 
|-
 
| 09:30
 
| 09:30
তাই আমরা আউটপুট পাই '''I am a default constructor'''.
+
So we get output as I am a default constructor.
  
 
|-
 
|-
 
| 09:36
 
| 09:36
তারপর '''studentDetail''' মেথড এক্সিকিউট করা হয়।
+
Then studentDetail method is executed.
  
 
|-
 
|-
 
| 09:42
 
| 09:42
আমরা '''11''' এবং '''Raju''' পাই।
+
So, we get 11 and Raju.
  
 
|-
 
|-
 
|  09:45
 
|  09:45
একটি ছোট পরিবর্তন করি।
+
Now, let us make a small change.
  
 
|-
 
|-
 
| 09:47
 
| 09:47
| এই this স্টেটমেন্টকে কন্সট্রকটরে শেষে রাখুন।
+
| Make the this statement the last one in the constructor.
  
 
|-
 
|-
 
| 10:00
 
| 10:00
আমরা একটি কম্পাইলার এরর পাই।
+
We get a compiler error.
  
 
|-
 
|-
 
| 10:03
 
| 10:03
মাউসকে এরর চিহ্নে নিয়ে যান।
+
Hover the mouse over the error symbol.
  
 
|-
 
|-
 
| 10:06
 
| 10:06
আমরা নিম্নরূপে আউটপুট পাই:
+
We get the error as:  
  
 
|-
 
|-
Line 375: Line 382:
 
|-
 
|-
 
|  10:12
 
|  10:12
|   সুতরাং আমাদের এটি কন্সট্রকটরের প্রথম লাইন করা আবশ্যক।
+
| So we must make it the first line of the constructor.
  
 
|-
 
|-
 
|  10:16
 
|  10:16
| সুতরাং এটিকে কন্সট্রকটরের প্রথম লাইন করুন।
+
| So make it the first line of the constructor.
  
 
|-
 
|-
 
| 10:27
 
| 10:27
এখন আমরা দেখি যে এরর চলে গেছে।
+
Now we can see that the error has gone.
  
 
|-
 
|-
 
|  10:31
 
|  10:31
এই টিউটোরিয়ালে আমরা শিখেছি
+
So in this tutorial, we learnt
  
 
|-
 
|-
 
| 10:35
 
| 10:35
ফীল্ডের সাথে '''this''' কীওয়ার্ডের ব্যবহার।
+
To use this keyword with fields.
  
 
|-
 
|-
 
| 10:38
 
| 10:38
| কন্সট্রকটরের শৃঙ্খলার জন্য এর ব্যবহার।
+
| To use this keyword for chaining constructors
  
 
|-
 
|-
 
| 10:41
 
| 10:41
কিভাবে '''this''' কীওয়ার্ড কন্সট্রকটরে ব্যবহার করা উচিত।
+
How this keyword should be used within a constructor.
  
 
|-
 
|-
 
|  10:45
 
|  10:45
আত্ম মূল্যায়নের জন্য, পূর্বে তৈরী করা '''Employee''' ক্লাসে:
+
For self assessment, in the Employee class created earlier:  
  
 
|-
 
|-
 
| 10:49
 
| 10:49
দুটি প্যারামিটারের সাথে কন্সট্রকটর তৈরী করুন।
+
Create a constructor with two parameters
  
 
|-
 
|-
 
| 10:52
 
| 10:52
ইন্সট্যান্স ভ্যারিয়েবল ইনিসিয়েলাইজ করতে '''this''' কীওয়ার্ড ব্যবহার করুন।
+
Use this keyword to initialize the instance variables .
  
 
|-
 
|-
| 10:57
+
| 10:57  
| 1 টি এবং প্যারামিটার ছাড়াও কন্সট্রকটর তৈরী করুন।
+
| Also create a constructor with 1 and no parameters.
 +
 
  
 
|-
 
|-
 
| 11:01
 
| 11:01
টিউটোরিয়ালে ব্যাখ্যা করা '''this''' ব্যবহার করে কন্সট্রাকটর শৃঙ্খলিত করার চেষ্টা করুন।
+
Try chaining the constructors using this as explained in the tutorial.
  
 
|-
 
|-
 
|  11:07
 
|  11:07
স্পোকেন টিউটোরিয়াল প্রকল্প সম্পর্কে অধিক জানতে;
+
To know more about the Spoken Tutorial Project
  
 
|-
 
|-
 
| 11:09
 
| 11:09
এই লিঙ্কে উপলব্ধ ভিডিওটি দেখুন। [http://spoken-tutorial.org/What_is_a_Spoken_Tutorial http://spoken-][http://spoken-tutorial.org/What_is_a_Spoken_Tutorial tutorial.org/What_is_a_Spoken_Tutorial]  
+
Watch the video available at the following link [http://spoken-tutorial.org/What_is_a_Spoken_Tutorial http://spoken-][http://spoken-tutorial.org/What_is_a_Spoken_Tutorial tutorial.org/What_is_a_Spoken_Tutorial]  
  
 
|-
 
|-
 
| 11:12
 
| 11:12
এটি কথ্য টিউটোরিয়াল প্রকল্পকে সারসংক্ষেপে বোঝায়।
+
It summarizes the Spoken Tutorial project
 
+
 
|-
 
|-
 
| 11:16
 
| 11:16
ভাল ব্যান্ডউইডথ না থাকলে আপনি ভিডিওটি ডাউনলোড করে দেখতে পারেন।
+
If you do not have good bandwidth, you can download and watch it
  
 
|-
 
|-
 
|  11:19  
 
|  11:19  
কথ্য টিউটোরিয়াল প্রকল্প দল
+
The Spoken Tutorial Project Team
 
+
 
|-
 
|-
 
| 11:23
 
| 11:23
কথ্য টিউটোরিয়াল ব্যবহার করে কর্মশালার আয়োজন করে।
+
Conducts workshops using spoken tutorials
  
 
|-
 
|-
 
| 11:26
 
| 11:26
| অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেওয়া হয়।
+
| Gives certificates for those who pass an online test
  
 
|-
 
|-
 
| 11:30
 
| 11:30
এই বিষয়ে বিস্তারিত তথ্যের জন্য contact@spoken-tutorial.org তে ইমেল করুন।
+
For more details, please write to contact@spoken-tutorial.org  
 
+
 
|-
 
|-
 
|  11:36
 
|  11:36
স্পোকেন টিউটোরিয়াল Talk to a Teacher প্রকল্পের অংশবিশেষ।
+
Spoken Tutorial Project is a part of the Talk to a Teacher project
  
 
|-
 
|-
 
| 11:40
 
| 11:40
এটি ভারত সরকারের ICT, MHRD এর National Mission on Education দ্বারা সমর্থিত।
+
It is supported by the National Mission on Education through ICT, MHRD, Government of India
 
+
 
|-
 
|-
 
| 11:46
 
| 11:46
এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য, http://spoken-tutorial.org/NMEICT-Intro
+
More information on this Mission is available at http://spoken-tutorial.org/NMEICT-Intro
  
 
|-
 
|-
 
| 11:55
 
| 11:55
| আমরা টিউটোরিয়ালের শেষে চলে এসেছি।
+
| Thus We have come to the end of this tutorial.
 +
 
  
 
|-
 
|-
 
| 11:58
 
| 11:58
আমি কৌশিক দত্ত এই টিউটোরিয়ালটি অনুবাদ করেছি। অংশগ্রহনের জন্য ধন্যবাদ।
+
This is Arya Ratish signing off. Thanks for joining.

Revision as of 17:24, 16 January 2014

Time' Narration
00:02 Welcome to the Spoken Tutorial on using this keyword in java.
00:07 In this tutorial we will learn
00:09 About use of this keyword
00:11 To use this keyword with fields
00:14 To use this keyword for chaining of constructors.
00:17 Here we are using
  • Ubuntu version 11.10
  • jdk 1.6
  • Eclipse 3.7.0
00:28 To follow this tutorial you must know
00:30 how to create a constructor in java using eclipse.
00:34 If not, for relevant tutorials please visit our website which is as shown,

(http://www.spoken-tutorial.org)

00:40 Now we will see the use of this key word
00:44 Within a constructor, this is a reference to the current object.
00:48 We can refer any member of the current object within a constructor using this.
00:55 Now we will see the use of this keyword with fields.
01:00 this keyword helps us to avoid name conflicts.
01:07 We can see such an example here.
01:10 For that let us open Eclipse.
01:17 Open the Student class we had created in the earlier tutorial.
01:23 Comment the default constructor comment the constructor with 1 parameter.
01:40 Also comment the code for creating the first two objects.
02:03 Now, notice the parameterized constructor.
02:11 the_roll_number and the_name are the arguments passed to the constructor.
02:20 roll_number and name are the instance variables.
02:26 Now, let me change the arguments to roll_number and name itself.
02:39 So inside the constructor we have:
02:42 roll_number equal to roll_number and name equal to name.
02:55 Now Save and run the file.So pressCtrl ,Sand Ctrl, F11
03:04 We get the output as follows:
03:07 I am a Parameterized Constructor

0

null


03:12 Now come back to the code.


03:17 We see 2 warnings in the code.
03:20 Hover your mouse over the warning symbol.
03:23 We can see The assignment to the variable roll_number has no effect.

03:29 And The assignment to the variable name has no effect.
03:33 This is because in the constructor roll_number and name are local variables.
03:40 Local variables are variables that are accessible within the method or block.
03:47 Here, roll_number and name will be initialized to 11 and Raju.
03:54 Because we have passed the values 11 and Rajuthe constructor.
04:01 But once they come out of the constructor, it is not accessible.
04:06 Then the only roll_number and name we know are the instance variables.
04:13 They have been initialized to 0 and null already once the object is created.
04:18 So we got the output as 0 and null.
04:21 Now, let us make a small change inside the constructor.
04:29 So type this dot roll_number equal to roll_number.
04:37 And this dot name equal to name.
04:44 Now save and run the file. So press ctrl, S And Ctrl, F11 keys
04:51 We get the output as
04:53

I am Parameterized Constructor

11 and

Raju

04:58 This is because this dot roll_number and this dot name refers to the instance variables roll_number and name.


05:12 And here roll_number and name are the arguments passed in the method.
05:19 To avoid confliction between local and instance variables we use this keyword.
05:29 Now we will see the use of this keywords for chaining of constructor.
05:34 We can use this keyword inside a constructor to call another one.
05:39 The constructors must be in the same class.
05:43 This is called explicit constructor invocation.
05:46 So let us come back to the Student class which we created.
05:53 Now Remove the comments.
06:28 Now comment the part to assign the instance variables to their values in the first two constructors.
06:52 Then Comment the part which creates the second and third objects.
07:08 Now let us first come to the constructor with no parameters.
07:16 After curly brackets type this within brackets 11 and semicolon.
07:28 Inside the second constructor type this within brackets 11 comma within double quotes Raju semicolon.
07:42 Now Save and Run the file. So press Ctrl,S and Ctrl , F11.
07:49 We get the output as
07:51 I am a Parameterized Constructor
07:54 I am a constructor with a single parameter
07:57 I am Default Constructor

11 and Raju

08:02 Now, I will explain the output.
08:08 When the object is created, the respective constructor gets called.
08:13 The constructor here is the no argument constructor.



08:20 The control comes to the first line in the constructor.



08:24 It encounters the this within brackets 11 statement.
08:26 Hence it calls the constructor that accepts single integer argument.
08:36 Then the control comes to this within brackets 11 comma Raju.
08:44 Hence it calls the constructor that accepts 1 integer and 1 String argument.
08:53 So this constructor is executed and we get the output as I am Parameterized Constructor.
09:02 Now the instance variables will be initialized to 11 and Raju.As we have passed.
09:11 Now, the control goes back to the calling constructor.
09:16 So the second constructor gets executed.
09:19 We get the output as I am constructor with a single parameter.
09:25 Then, the control goes to the first constructor and executes it.
09:30 So we get output as I am a default constructor.
09:36 Then studentDetail method is executed.
09:42 So, we get 11 and Raju.
09:45 Now, let us make a small change.
09:47 Make the this statement the last one in the constructor.
10:00 We get a compiler error.
10:03 Hover the mouse over the error symbol.
10:06 We get the error as:
10:07 Constructor call must be the first statement in the constructor.
10:12 So we must make it the first line of the constructor.
10:16 So make it the first line of the constructor.
10:27 Now we can see that the error has gone.
10:31 So in this tutorial, we learnt
10:35 To use this keyword with fields.
10:38 To use this keyword for chaining constructors
10:41 How this keyword should be used within a constructor.
10:45 For self assessment, in the Employee class created earlier:
10:49 Create a constructor with two parameters
10:52 Use this keyword to initialize the instance variables .
10:57 Also create a constructor with 1 and no parameters.


11:01 Try chaining the constructors using this as explained in the tutorial.
11:07 To know more about the Spoken Tutorial Project
11:09 Watch the video available at the following link http://spoken-tutorial.org/What_is_a_Spoken_Tutorial
11:12 It summarizes the Spoken Tutorial project
11:16 If you do not have good bandwidth, you can download and watch it
11:19 The Spoken Tutorial Project Team
11:23 Conducts workshops using spoken tutorials
11:26 Gives certificates for those who pass an online test
11:30 For more details, please write to contact@spoken-tutorial.org
11:36 Spoken Tutorial Project is a part of the Talk to a Teacher project
11:40 It is supported by the National Mission on Education through ICT, MHRD, Government of India
11:46 More information on this Mission is available at http://spoken-tutorial.org/NMEICT-Intro
11:55 Thus We have come to the end of this tutorial.


11:58 This is Arya Ratish signing off. Thanks for joining.

Contributors and Content Editors

Arya Ratish, Gaurav, Kaushik Datta, PoojaMoolya, Sandhya.np14, Sneha