Java/C3/Static-Methods/English-timed
From Script | Spoken-Tutorial
| Time | Narration |
| 00:01 | Welcome to the Spoken Tutorial on Static Methods. |
| 00:05 | In this tutorial we will learn: what are static methods , defining static methods. |
| 00:12 | difference between instance methods and static methods and how to use static methods. |
| 00:20 | Here we are using Ubuntu 14.04, JDK 1 .7 and Eclipse 4.3.1 |
| 00:31 | To follow this tutorial, you must have knowledge of basics of Java and Eclipse IDE. |
| 00:38 | You should also have the knowledge of instance variables, methods and static variables in Java. |
| 00:45 | If not, for relevant Java tutorials, please visit the link shown. |
| 00:50 | A static method is a method which is associated with the entire class. |
| 00:56 | It is also called a class method and is declared using the static keyword. |
| 01:02 | Static methods are usually used to handle static variables. |
| 01:07 | Now we will switch to Eclipse and create a new project called StaticMethodDemo. |
| 01:14 | Inside this project we will create the necessary classes to demonstrate the usage of Static methods. |
| 01:21 | We will create a new class StudentEnroll. |
| 01:25 | Let us see how to use static methods with an example. |
| 01:30 | The example is very similar to the one which is used in the Static Variable tutorial. |
| 01:37 | Here again we are representing the StudentEnroll class. |
| 01:42 | Recall that the variables name and id are handled as instance variables. |
| 01:48 | Here the variables organization and total count are common to the entire class. |
| 01:54 | So they can be treated as static variables. |
| 01:58 | Now type the following code to represent the StudentEnroll class. |
| 02:03 | Note that there are two static variables count and orgname. |
| 02:08 | Also note that orgname is not a static constant rather it is normal static variable. |
| 02:15 | The static variable orgname is initialized as “IIT Bombay”. |
| 02:21 | Now click on Source -> and select Generate Constructor using Fields. |
| 02:27 | Delete the super keyword from the generated code. |
| 02:32 | Inside the constructor, type count ++ semicolon So, the count value is incremented every time an object is created. |
| 02:42 | Now we will add a method showData( ) to this class to print the values of the variables. |
| 02:48 | So type public void showData( ). |
| 02:51 | Within brackets type the following code to print the values of id, name and organisation name. |
| 02:58 | Now we will add the static method setOrgName. |
| 03:03 | Type the following code. |
| 03:05 | The setOrgName method represented here is a static method which can modify the value of orgname. |
| 03:13 | Any method which is used to handle static variables can be defined as a static method. |
| 03:19 | Now let us explore the differences between instance method and static method. |
| 03:25 | Instance methods can access static variables. |
| 03:29 | Whereas a static method can directly access and modify only static variables. |
| 03:35 | Instance methods are invoked only by an object. |
| 03:39 | Whereas a static method can be invoked directly without creating an object. |
| 03:45 | We cannot use ‘this’ and ‘super’ keyword inside a static method. |
| 03:50 | This is because these keywords refer to the instance of a particular class. |
| 03:56 | In a static context, we can’t refer to instances of a class. |
| 04:01 | Let us see what happens if we try to access an instance variable directly inside this static method. |
| 04:09 | Type, id= “newid” semicolon |
| 04:13 | Now an error comes up in Eclipse. |
| 04:17 | It indicates that an instance variable cannot be accessed directly inside a static method. |
| 04:23 | So let us comment this line and proceed. |
| 04:27 | Now we will add one more static method showOrgData. |
| 04:31 | These statements print the values of orgname and count. |
| 04:36 | Now right click on the default package, click New-> Class and then type the name as Demo. |
| 04:44 | Inside this class we will have the main method. |
| 04:48 | So type main and then press Ctrl+space to generate the main method. |
| 04:54 | We will create a few objects of StudentEnroll class to represent student enrollments. |
| 05:01 | So type the following code to create 3 objects s1, s2 and s3. |
| 05:08 | Now let us invoke the showData method to print the enrollment details. |
| 05:12 | Type the following code to invoke showData method on s1, s2 and s3. |
| 05:19 | Let us also invoke the method showOrgData to print the values of orgname and count. |
| 05:27 | Since it is a static method we can invoke it directly using its class name. |
| 05:31 | To do so, type this code. |
| 05:34 | Now let us run the Demo program. |
| 05:37 | We can see that the values of the variables corresponding to s1 i.e IT101, ADIL and IIT BOMBAY gets printed. |
| 05:47 | Similarly the values corresponding to s2 and s3 are also printed. |
| 05:53 | Note that the value of orgname ie IIT BOMBAY is common for s1, s2 and s3. |
| 06:02 | orgname and count are printed separately by the static method showOrgData. |
| 06:08 | Note that the organisation name is printed as IIT Bombay. |
| 06:13 | The value of the number of student enrollments is printed as 3, as we have already created 3 objects. |
| 06:21 | A static method can be invoked directly by the class name itself. |
| 06:26 | Now let us invoke the static method setOrgName. |
| 06:30 | We will change the organisation name from “IIT Bombay” to “IIT Mumbai”. |
| 06:36 | So type the following code. |
| 06:38 | Now let us once again invoke the showData method on s1, s2 and s3 to print the enrollment details. |
| 06:47 | For that type the following code again. |
| 06:50 | Once again, let us invoke the method showOrgData to print the values of orgname and count. |
| 06:58 | To do so, type this code. |
| 07:00 | Now run the Demo program again. |
| 07:03 | We can see that the organisation name is changed to “IIT Mumbai”. |
| 07:08 | Let us come back to slides. |
| 07:11 | Object references can be passed to a static method. |
| 07:15 | This way a static method can access the instance variables of that particular object. |
| 07:22 | Let us try it in our code. Switch to Eclipse and go to the StudentEnroll class. |
| 07:30 | Now in the setOrgName method, pass another argument as an object of StudentEnroll class. |
| 07:38 | So after String org, type comma StudentEnroll s |
| 07:45 | Now inside this method, uncomment id = "newid" |
| 07:50 | And instead of id,type s.id |
| 07:54 | Now go to the Demo class. |
| 07:56 | Let us modify the function call to setOrgName method by passing the StudentEnroll object s1. |
| 08:05 | So here, after “IIT Mumbai”, type comma s1. |
| 08:10 | Now run the Demo program again. |
| 08:12 | We can see that the value of id for s1 has changed to “newid”. |
| 08:19 | Let us summarize. In this tutorial we have learnt about |
| 08:24 | What is a static method and when it is used |
| 08:28 | How to differentiate static methods and instance methods and |
| 08:33 | How to create and invoke static methods |
| 08:37 | This assignment is a continuation of the Static variable assignment. |
| 08:42 | Make sure that you have completed the Static variable assignment. |
| 08:47 | We will highlight only the modifications here. |
| 08:50 | Here we have a variable to represent “status”. |
| 08:55 | It is used to indicate whether the car is “in” for service or “out” after service |
| 09:01 | We will also have another variable to represent No of cars out after Service. |
| 09:08 | Define a method service( Car c) which updates the status to ”out”. |
| 09:13 | Accordingly it modifies the values for |
| 09:17 | No of Cars in for Service No of Cars out after Service |
| 09:21 | Also define a method show( ) to print all the car details. |
| 09:26 | As before, we need to perform the following as listed. |
| 09:30 | Note that we have to identify and define the static method as required. |
| 09:35 | Also create a Demo class. |
| 09:38 | Inside the main method, Create a few objects of CarService. |
| 09:43 | Invoke the service( ) method on some of them. |
| 09:47 | Invoke the show( ) method using all the objects and verify the results. |
| 09:52 | The video at the following link summarizes the Spoken Tutorial Project. |
| 09:57 | Please download and watch it. |
| 09:59 | The Spoken Tutorial Project team Conducts workshops using spoken tutorials and Gives certificates on passing the online tests |
| 10:08 | For more details, please write to us. |
| 10:11 | Spoken Tutorial Project is funded by the NMEICT, MHRD, Government of India. |
| 10:18 | More information on this Mission is available at the link shown. |
| 10:22 | This script has been contributed by: Dept. of Information Technology, Amal Jyothi College of Engineering. |
| 10:30 | This is Priya from IIT Bombay, thanks for joining. |