| 1 |
| 00:00:00,000 --> 00:00:01,000 |
| Hello team! |
|
|
| 2 |
| 00:00:01,000 --> 00:00:04,000 |
| In this section we will learn with you more about methods in Java. |
|
|
| 3 |
| 00:00:04,000 --> 00:00:09,000 |
| We are going to have multiple lessons in this section from which you will learn what is method and what |
|
|
| 4 |
| 00:00:09,000 --> 00:00:13,000 |
| is method signature, how to declare methods and how to use them. |
|
|
| 5 |
| 00:00:13,000 --> 00:00:16,000 |
| You will understand how methods can return values. |
|
|
| 6 |
| 00:00:16,000 --> 00:00:20,000 |
| I will explain you how data is passed in Java by value and not by reference. |
|
|
| 7 |
| 00:00:20,000 --> 00:00:24,000 |
| How to write recursive methods and what are variable length arguments? |
|
|
| 8 |
| 00:00:25,000 --> 00:00:26,000 |
| Let's start. |
|
|
| 9 |
| 00:00:26,000 --> 00:00:27,000 |
| What is method? |
|
|
| 10 |
| 00:00:28,000 --> 00:00:33,000 |
| A method is a block of code which is referred to by name, and can be called at any point in your program |
|
|
| 11 |
| 00:00:33,000 --> 00:00:35,000 |
| simply with the methods name. |
|
|
| 12 |
| 00:00:36,000 --> 00:00:40,000 |
| Think of a method as a chunk of code, which can be performed on the request. |
|
|
| 13 |
| 00:00:40,000 --> 00:00:45,000 |
| When during the program execution method call is performed, the program proceed execution from that |
|
|
| 14 |
| 00:00:45,000 --> 00:00:51,000 |
| method and when method is finished, execution returns to the line of code in your program from where |
|
|
| 15 |
| 00:00:51,000 --> 00:00:52,000 |
| method was called. |
|
|
| 16 |
| 00:00:53,000 --> 00:00:55,000 |
| Let's write method together. |
|
|
| 17 |
| 00:00:55,000 --> 00:00:58,000 |
| Each method has access modifier. |
|
|
| 18 |
| 00:00:58,000 --> 00:01:01,000 |
| We will learn them during the object oriented programming topic. |
|
|
| 19 |
| 00:01:02,000 --> 00:01:03,000 |
| Let's write private. |
|
|
| 20 |
| 00:01:03,000 --> 00:01:09,000 |
| As of now, this means that we can access this method only in scope of this class. |
|
|
| 21 |
| 00:01:10,000 --> 00:01:12,000 |
| After that, let's write static. |
|
|
| 22 |
| 00:01:12,000 --> 00:01:18,000 |
| Static keyword means that this method is connected not with instances of this class, but with class |
|
|
| 23 |
| 00:01:18,000 --> 00:01:19,000 |
| itself. |
|
|
| 24 |
| 00:01:19,000 --> 00:01:24,000 |
| We'll have separate lessons where we will take a look at what a static and non-static methods. |
|
|
| 25 |
| 00:01:24,000 --> 00:01:26,000 |
| While we don't know OOP. |
|
|
| 26 |
| 00:01:26,000 --> 00:01:28,000 |
| Let's create static methods. |
|
|
| 27 |
| 00:01:29,000 --> 00:01:31,000 |
| Here we specify method return type. |
|
|
| 28 |
| 00:01:31,000 --> 00:01:34,000 |
| Each method can return some value after it finished. |
|
|
| 29 |
| 00:01:35,000 --> 00:01:40,000 |
| The result of the method execution can be assigned to variable of the same type as return type. |
|
|
| 30 |
| 00:01:40,000 --> 00:01:42,000 |
| And here is method name. |
|
|
| 31 |
| 00:01:42,000 --> 00:01:48,000 |
| Method names are usually verbs started with lowercase letter and written in camel case like this one, |
|
|
| 32 |
| 00:01:48,000 --> 00:01:49,000 |
| for example. |
|
|
| 33 |
| 00:01:50,000 --> 00:01:52,000 |
| It is very important how you name your methods. |
|
|
| 34 |
| 00:01:53,000 --> 00:01:55,000 |
| For example, guess what does this method do? |
|
|
| 35 |
| 00:01:56,000 --> 00:01:58,000 |
| It is straight and clear what this method does. |
|
|
| 36 |
| 00:01:58,000 --> 00:02:02,000 |
| You can save a lot of time for your colleagues and a lot of money for your company. |
|
|
| 37 |
| 00:02:02,000 --> 00:02:06,000 |
| Who pays for time of your colleagues if you will write clean code? |
|
|
| 38 |
| 00:02:07,000 --> 00:02:13,000 |
| Understanding of code which was written not by you can take up to 50% of time dedicated for development. |
|
|
| 39 |
| 00:02:14,000 --> 00:02:19,000 |
| That's why in this and in future lessons, I will put stress on clean code design. |
|
|
| 40 |
| 00:02:19,000 --> 00:02:24,000 |
| Because clean code is something that you can't learn in one day after you learned programming. |
|
|
| 41 |
| 00:02:24,000 --> 00:02:27,000 |
| It is something that you should learn constantly. |
|
|
| 42 |
| 00:02:28,000 --> 00:02:31,000 |
| After we wrote Methodname, we need to specify method parameters. |
|
|
| 43 |
| 00:02:31,000 --> 00:02:37,000 |
| Here we declare that this method can work with two integers, and int values can be passed as arguments |
|
|
| 44 |
| 00:02:37,000 --> 00:02:38,000 |
| to this method. |
|
|
| 45 |
| 00:02:39,000 --> 00:02:43,000 |
| Method name and method parameters together is called method signature. |
|
|
| 46 |
| 00:02:44,000 --> 00:02:47,000 |
| Why return type or access modifier is not part of method signature? |
|
|
| 47 |
| 00:02:48,000 --> 00:02:53,000 |
| The reason for this emphasis on just the method name and parameter list is because of overloading. |
|
|
| 48 |
| 00:02:54,000 --> 00:02:55,000 |
| What is overloading? |
|
|
| 49 |
| 00:02:56,000 --> 00:03:02,000 |
| Overloading it is the ability to write methods that have the same name but accept different arguments. |
|
|
| 50 |
| 00:03:02,000 --> 00:03:08,000 |
| The Java compiler is able to discern the difference between the methods through their method signatures. |
|
|
| 51 |
| 00:03:08,000 --> 00:03:12,000 |
| For example, we have method sum which can sum two arguments. |
|
|
| 52 |
| 00:03:12,000 --> 00:03:17,000 |
| This method can sum two integers and this method can sum to doubles. |
|
|
| 53 |
| 00:03:17,000 --> 00:03:23,000 |
| We can say that method sum is overloaded because we have two methods with the same name, but with different |
|
|
| 54 |
| 00:03:23,000 --> 00:03:24,000 |
| signatures. |
|
|
| 55 |
| 00:03:24,000 --> 00:03:27,000 |
| After we declared parameters, we should put braces. |
|
|
| 56 |
| 00:03:27,000 --> 00:03:32,000 |
| This will be our method body which will be executed each time we will call method. |
|
|
| 57 |
| 00:03:32,000 --> 00:03:36,000 |
| If method has return type, we should return some value from the method. |
|
|
| 58 |
| 00:03:36,000 --> 00:03:42,000 |
| To return value from the method, we need to write return keyword and specify either variable name or |
|
|
| 59 |
| 00:03:42,000 --> 00:03:47,000 |
| expression which has compatible type with the one specified in method declaration. |
|
|
| 60 |
| 00:03:47,000 --> 00:03:50,000 |
| It can be that method returns nothing. |
|
|
| 61 |
| 00:03:50,000 --> 00:03:54,000 |
| For example, here are methods which just prints values to console. |
|
|
| 62 |
| 00:03:54,000 --> 00:03:58,000 |
| They should return nothing because they just print values to console. |
|
|
| 63 |
| 00:03:59,000 --> 00:04:03,000 |
| In this case you should specify void as return type like this. |
|
|
| 64 |
| 00:04:03,000 --> 00:04:10,000 |
| And here you can find examples of the method invocations I call method some and it returns value. |
|
|
| 65 |
| 00:04:10,000 --> 00:04:15,000 |
| So I can initialize this int variable with the value which was returned from this method. |
|
|
| 66 |
| 00:04:15,000 --> 00:04:17,000 |
| Is it clear? |
|
|
| 67 |
| 00:04:17,000 --> 00:04:22,000 |
| I can call method and can pass to it the result of execution of another method like this. |
|
|
| 68 |
| 00:04:23,000 --> 00:04:30,000 |
| That means that this method will be executed first, and after that this method will be executed with |
|
|
| 69 |
| 00:04:30,000 --> 00:04:32,000 |
| value, which was returned from some method. |
|
|
| 70 |
| 00:04:33,000 --> 00:04:38,000 |
| You can find that printer console is also overloaded method which works with different types string, |
|
|
| 71 |
| 00:04:38,000 --> 00:04:40,000 |
| double and int. |
|
|
| 72 |
| 00:04:40,000 --> 00:04:41,000 |
| That's all. |
|
|
| 73 |
| 00:04:41,000 --> 00:04:43,000 |
| Thanks a lot for your attention. |
|
|
| 74 |
| 00:04:43,000 --> 00:04:45,000 |
| See you in the next lesson. |
|
|
| 75 |
| 00:04:45,000 --> 00:04:46,000 |
| Us. |
|
|
|
|