Java Reflection Explained - bɘniɒlqxƎ noiɟɔɘlʇɘЯ ɒvɒᒐ

  Рет қаралды 197,854

Coding with John

Coding with John

Күн бұрын

Пікірлер: 355
@CodingWithJohn
@CodingWithJohn 2 жыл бұрын
Try Neeva free for 1 full month here! neeva.com/codingwithjohn There's no way I could fit everything you can do with reflection in one video. So here are some more things to try! Method stuff: Get a method's name: method.getName(); Get a method's return type: method.getReturnType(); Invoke a method: method.invoke(anyParameters, listedLikeThis); If it's private or not accessible, put this before it: method.setAccessible(true); See if a method has an annotation: method.isAnnotationPresent(NameOfAnnotation.class); Get an annotation from a method: method.getAnnotation(NameOfAnnotation.class); Get a method's parameter types: method.getParameterTypes(); Get annotations on a method's parameters: method.getParameterAnnotations() Get the class that declares this method: method.getDeclaringClass(); Get all exceptions the method declares it can throw: method.getExceptionTypes(); Field stuff: Get the value of a field: field.get(objectToGetThisFieldFrom); Get the type of a field: Field.getType(); Set the value of a field: field.set(objectToSetThisFieldOn, valueToSetTheFieldTo); Get the name of a field: field.getName(); See if a field has an annotation: field.isAnnotationPresent(NameOfAnnotation.class); Get an annotation from a field: field.getAnnotation(NameOfAnnotation.class); Get the class that declares this field: method.getDeclaringClass(); Class stuff: Get a class's name: class.getName(); See if a class has an annotation: class.isAnnotationPresent(NameOfAnnotation.class); Get an annotation from a class: class.getAnnotation(NameOfAnnotation.class); Get declared fields: class.getDeclaredFields(); Get all fields, which will include fields declared in parent classes: class.getFields(); Get declared methods: class.getDeclaredMethods(); Get all methods, which will include fields declared in parent classes: class.getMethods(); This should get you started. Keep exploring to find out what more you can do!
@puneetkumarsingh1484
@puneetkumarsingh1484 2 жыл бұрын
😂 0:54
@KhalilRahmouni-qe5zs
@KhalilRahmouni-qe5zs Жыл бұрын
no i use chatgpt instead
@ofekn
@ofekn Жыл бұрын
You pretty much skipped getField(String name) getMethod(String name, Class... parameterTypes) which are pretty useful
@lcgswolf
@lcgswolf 7 ай бұрын
Neeva is no longer existing! that is sad, I just heard about it
@pranavkrishna3048
@pranavkrishna3048 2 ай бұрын
gpts on the stage
@Inkeri94
@Inkeri94 2 жыл бұрын
you are without a doubt one of the best people teaching java and especially java core (I am already a working programmer but I like to watch well prepared videos as a way of knowgledge refreshment), keep up the good work man
@mushfiqfuad249
@mushfiqfuad249 2 жыл бұрын
I can clearly say, John is by far the best Java tutor. I really wish him as my Java teacher back in my university days.
@carguy-xv2cl
@carguy-xv2cl Жыл бұрын
Are you trying to say hes an old guy.
@davidx5828
@davidx5828 2 жыл бұрын
John if possible could you do a video on Spring? Your through explanations would be beneficial to all.
@lcgswolf
@lcgswolf 7 ай бұрын
Yes please!!!!
@lizhang9807
@lizhang9807 16 күн бұрын
@@lcgswolf i would skip to springboot, as no one does xml configurations in spring anymore. also it is based on dependency injection and functional interfaces i.e beans and components. so start googling what those two things are.
@matt-g-recovers
@matt-g-recovers Жыл бұрын
Hey John, I have been a software engineer for 12 years but I have a poor memory:) and appreciate your tutorials for my times revisiting concepts. I revisit even basic core concepts sometimes. As my career progresses, I find myself doing more code review and oversight vs coding myself plus I also use Kotlin (Android) half the time and trying to stay up on the latest language features and concepts as the industry changes is a lifetime of learning and sometimes relearning. You have a real knack at teaching and again, much appreciated 👍
@CodingWithJohn
@CodingWithJohn Жыл бұрын
I'm in the same position where I rarely get to code myself anymore at my job. Kind of ironic that the better you get at coding the less you get to actually do it!
@pikimk6167
@pikimk6167 2 жыл бұрын
Some junior is lucky to have you as a mentor
@pebble6248
@pebble6248 2 жыл бұрын
Your videos are great! I just got home from school, and without even finishing the video I've already shared it to my friend because (1) I know he'll benefit from it, and (2) I don't even have to finish it to know that it's amazing content. Thank you John!!
2 жыл бұрын
Thank you for your videos!
@Ross-sg3hq
@Ross-sg3hq 2 жыл бұрын
I've seen a lot of educational videos for Java but the way you explain stuff is a next level! Thank you :)
@WhitneyKugel
@WhitneyKugel Жыл бұрын
Thank you for this. You've given me a lot to reflect on.
@CodingWithJohn
@CodingWithJohn Жыл бұрын
(☞゚ヮ゚)☞ ☜(゚ヮ゚☜)
@neon0wl2107
@neon0wl2107 2 жыл бұрын
Wow, ok this is the first time i have watched the whole promotion on any video. I just realized this.
@РоманЯнущик
@РоманЯнущик Жыл бұрын
I am from Belarus and start to lern JAVA.I not so fine speak English, but you teaching very and very understanding. Thank you. I'm waiting for new lessons
@kenna5031
@kenna5031 2 жыл бұрын
Reflection is a very powerful tool. I wrote an API to massively simplify the creation of command line user interface/interactivity for Java programs. I could not have done this without reflection (combined with custom annotations).
@cozyrain410
@cozyrain410 2 жыл бұрын
this is cursed behavior
@beerensaft413
@beerensaft413 2 жыл бұрын
if this API contains your code only why do you use reflection (your code is in front of you)
@makispapa5867
@makispapa5867 Жыл бұрын
@@beerensaft413 Using reflection you can have the user call java methods directly or modify fields etc via command line. With reflection you can create a more 'direct' scripting system enabling the user to access code directly from within the script. It's very useful.
@ByronicGuitarist
@ByronicGuitarist 2 жыл бұрын
Like a month ago I was reading some code at work that was doing reflection stuff and I thought to myself, "damn, I wish John had a Reflection video". Thanks John, you're the best in the game!
@armenuhiyeghoyan5419
@armenuhiyeghoyan5419 8 ай бұрын
I am from Armenia .I want to become a programmist.I like the way you explain.Simple and understandable.
@TheGreat8220
@TheGreat8220 2 жыл бұрын
I gotta be honest... This was the first KZbin video I've ever watched with a paid promotion that actually convinced me to look into the advertised item further. Also, I love all your videos!
@pizz479
@pizz479 Жыл бұрын
Wow, this is such a fresh shock to me learning Java. I'm studying to switch my stack from Python to Java. Your lesson do help me a lot. Thanks for a good lesson John!
@DanielSColao
@DanielSColao 2 жыл бұрын
That's the best video regarding Java Reflection I've watched so far. Everything was clearly explained. Well done, mate.
@vikingthedude
@vikingthedude Жыл бұрын
I am so grateful for these java tutorials. Not too beginner like a majority of tutorials out there, and very well explained
@YassineMohammedAbuRazane
@YassineMohammedAbuRazane Жыл бұрын
Practically, this increases my confusion about the purpose of the encapsulation in Java .....
@ofekn
@ofekn Жыл бұрын
Here are some examples how reflections are used in real applications: events - using reflections and annotation you can build an event registry. equals - sometimes in the equals method, instead of using instanceof you use this.getClass() == that.getClass() this way you don't allow child classes to be equals. generics - when you use generics, you sometimes need the Class, for example Class#getEnumConstants can give you all possible values of an enum class, and Class#isInstance can help you verify fields. there is also java code which uses reflections, for example EnumMap has a constructor which accepts Class
@AbdullahNaser-h5i
@AbdullahNaser-h5i 14 күн бұрын
The best explanation video I've ever seen on Reflection.
@MD90X
@MD90X 2 жыл бұрын
you got me with the stack overflow bit.
@CodingWithJohn
@CodingWithJohn 2 жыл бұрын
Yeah... Happens to all of us.
@Andrew94750
@Andrew94750 2 жыл бұрын
I used reflection a year ago for AQA API client. John, huge thank you for this video! This video helped me to remember some things about reflection. It would a huge help to see a video about spring injection or SOLID. God bless you!
@lamnguyenhoang6757
@lamnguyenhoang6757 3 ай бұрын
John, You are the best teacher for Java I have ever known, I hope you have more videos about advanced topics.
@DipanjanPatra
@DipanjanPatra Жыл бұрын
I just gained a new superpower, this is an amazing introduction to reflections!
@DejiAdegbite
@DejiAdegbite Жыл бұрын
Wow! This looks like a feature of Java I don't think I ever want to touch.
@huseyinkadioglu
@huseyinkadioglu 3 ай бұрын
John, you are good at teaching i tell you that. You make it look easier and simple.
@rohitsharma-xt8qe
@rohitsharma-xt8qe 6 ай бұрын
This is some seriously good stuff John, cheers to you, awsome work mate.
@ПаульИванков
@ПаульИванков 11 ай бұрын
Hi John. I am Ukrainian, my English is so so. But thank God I understand almoust all your speaking. Short and easy to understanding. Thank you Bro.
@user-ttishere
@user-ttishere Жыл бұрын
you simply the best guide i've ever seen in java
@pradyumn2692
@pradyumn2692 10 ай бұрын
Wunderbar. Maximum respect for explaining this in such a simple way
@GordonChil
@GordonChil 2 жыл бұрын
I have been using reflection (sparingly) for years. I never knew where the name came from until now. Thanks!
@christianmascolo2612
@christianmascolo2612 2 жыл бұрын
Fantastic explanation,never heard about that. I loved the reference to better call Saul!
@panos21sonic
@panos21sonic Жыл бұрын
Feels so cool to get an IllegalAccessException lmfao, great video John
@CodingWithJohn
@CodingWithJohn Жыл бұрын
We're Java lawbreakers
@Beee178
@Beee178 Жыл бұрын
Your videos are amazing, thank you!
@Msyoutube38
@Msyoutube38 10 ай бұрын
By far the best explanation video I have seen on reflection. Excellent work, much appreciated!
@phoboslabsreviews
@phoboslabsreviews Жыл бұрын
Wow thats powerful stuff, this is the first time I have tried to understand reflection in any detail. Thanks for a great video.
@sergiocampos6252
@sergiocampos6252 Ай бұрын
Thanks John!! I was looking on google something explained that it isn't that technical and you helped a lot with the "illegal reflective access" topic I was looking for :)
@rastkostajic5525
@rastkostajic5525 10 ай бұрын
Mindblowing lesson!!! Never found this anywhere on the web. Thanks a lot.
@maziarchoubineh7787
@maziarchoubineh7787 Жыл бұрын
Thank you very much for the complete narratives. Your videos have not only helped me with Java but also sparked my interest in becoming a developer.God bless you :)
@alpaslanbek
@alpaslanbek 2 жыл бұрын
It's always good to know what you can do. But... There is a reason why there are access modifiers. If a method is declared private, it was decided for a reason. Using reflection should be avoided in production code at all cost. But you said it all :) Good content
@kennichdendenn
@kennichdendenn 2 жыл бұрын
Well, when working with legacy code you dont own, sometimes there is a need - especially for testing purposes, so at least not in production. Then, it might be the best option, because that code oftentimes was not designed with (modern) testing in mind - but rewriting aint an option, not testing isnt either, and working around that problem leads to bloated and coarse grained tests - which is also not what we want.
@Devivl
@Devivl 2 жыл бұрын
You are without a doubt one of the best people teaching java! Thank you.
@simonrozendal7542
@simonrozendal7542 2 жыл бұрын
Hey John. I used reflection in my own framework architecture but less as possible, and there was no other option. I used it to for code in the future that doesn't exist yet. So thank you for your tutorial which confirmed is used it on a good way.
@dlandsvolka4046
@dlandsvolka4046 2 жыл бұрын
16:08 IT'S REALLY USEFULL FOR SPIGOT PLUGIN DEVELOPER O_O now i can see and change the value of field and modify the game behavior
@eugenesmith9940
@eugenesmith9940 2 жыл бұрын
Encapsulation: "Look how awesome I am with all those security and stability measures". Those who just make default getters/setters: "Yeah, sure lol". Encapsulation: "It's not me being out-played it is you not being able to do stuff correctly… lol" Reflection: Encapsulation: "Screw me…".
@yuxiaofei3442
@yuxiaofei3442 2 жыл бұрын
amazing video ,explain reflection thoroughly,so much easier understand than all the other guides out there on line
@mrphan529
@mrphan529 2 жыл бұрын
the guidebook did, and now I finally understand the chanics!
@Gamer_with_knowledge
@Gamer_with_knowledge Жыл бұрын
Hi John , by far you are the best java teacher I have found on youtube. I request you to start making videos on Spring-Boot topics as well. I swear views will skyrocket gradually. ~ Your faithful old subscriber.
@mehulsolanki9435
@mehulsolanki9435 Жыл бұрын
You are too good to be true! I can learn anything you teach!
@ohno2125
@ohno2125 2 жыл бұрын
At first, I have thought setting private fields was for security reasons (as even my university professor once told me 'if possible, make every method private for security reasons') when regarding to Java programming, how wrong am I now that I've watched this video, that is not the case (and I see why how we can use this as you've explained). Thanks for the information!
@CodingWithJohn
@CodingWithJohn 2 жыл бұрын
That's typically still a good idea! But yeah you're still able to break basically every rule with reflection
@mahoneg
@mahoneg 2 жыл бұрын
As a long-time programmer in many languages, I still love watching your videos. I recommend them to jr developers as well. Warning ** Don't use something just because it seems cool***. Keep it simple and straightforward if you can. It will be easier for you and the people who follow you into your code. I am more of a dog guy but I like cats too!
@CodingWithJohn
@CodingWithJohn 2 жыл бұрын
Awesome, thanks for recommending them! And you're right. Reflection or otherwise, opt for simplicity, readability, and maintainability over coolness. Though it's fun to know the cool stuff too.
@Graciousalicando
@Graciousalicando 2 жыл бұрын
Dear John, I'm happy for you. I'm a huge fan of yours. How old were you when you first started learning to code?
@CodingWithJohn
@CodingWithJohn 2 жыл бұрын
I was 18. I didn't code at all until my freshman year of college, in my first computer science class.
@Graciousalicando
@Graciousalicando 2 жыл бұрын
@@CodingWithJohn then how old are you now? 51? I'd do some research about you earlier and I dont know if it's true.
@DarkOceanShark
@DarkOceanShark 2 жыл бұрын
Nice video mate! What's the intellij theme you are rocking?
@CodingWithJohn
@CodingWithJohn 2 жыл бұрын
Just the default theme, with the background darkened a bit I think
@mrugankgadgil7368
@mrugankgadgil7368 2 жыл бұрын
John - can you make something on DSA using Java. Nowadays DSA is one of the hot topics. Topics like dynamic programming (top down & bottom up), Stacks, Queues, Linkedlist, Trees, Graphs, Greedy algos, Backtracking, Sliding window, 2 pointers I know that's huge but an understanding on the concept by using your teaching techniques would definitely benefit.
@thalibmuhammad9519
@thalibmuhammad9519 2 жыл бұрын
DSA had been hot topics for a decade
@franchello1105
@franchello1105 Жыл бұрын
My favorite trick is to change the underlying fields of String. Then you can change the contents of the char[] array. Then you can use literals of these strings that you have changed. Sysytem.out.println("Yes") shows "No" intead.
@CodingWithJohn
@CodingWithJohn Жыл бұрын
Sounds like an awesome idea for a video!
@AntonyMBenedict
@AntonyMBenedict 2 жыл бұрын
I have never worked in Java, nor the need to do so (mostly C++/Python). I still watch your videos and enjoy them. You have a very good style. Do you have plans to teach C++ too? :D
@saahilnayyer6865
@saahilnayyer6865 2 жыл бұрын
The Better Call Saul reference really put a smile on my face. Nice cat name. Haha
@fiveoneecho
@fiveoneecho 2 жыл бұрын
Reflection is amazing when creating data structures using generics.
@Prashantable1
@Prashantable1 Жыл бұрын
Very well explained. Now my morning is good indeed.
@LTZMSYAL
@LTZMSYAL 2 жыл бұрын
Hey John you're the man! It's pleasant to watch your videos. I'm considering to subscribe to your java class.
@losokos
@losokos 2 жыл бұрын
I have no idea how i would use this ever, but when i do i will be most thankful haha
@sohezee4590
@sohezee4590 2 жыл бұрын
8:21 Better call saul reference
@kandualmahesh3547
@kandualmahesh3547 2 жыл бұрын
Can you make an video differentiation between Java eight and 11… Add Java interview questions and also please add creating on micro services with respect to the spring boot..
@rennyvalera9124
@rennyvalera9124 2 жыл бұрын
I know is a lot to ask, i really like your explanations but your content is growing and i'm struggling to navigate through it, i would be awesome if you could sort out your content! thanks for your contribution i like java but there are some topics that i would still be struggling with if i hadn't watched your videos!
@MilanRubiksCube97
@MilanRubiksCube97 4 ай бұрын
Reflection is a life saver when making dynamic libraries in Java. One example would be making an auditing library for your database. You have no idea what's inside the classes your event listeners are tracking and reflection helps out tremendously.
@anonimanonim1223
@anonimanonim1223 2 жыл бұрын
BEST TUTORIALS EVER!!!!!!!!!!
@TheSeanUhTron
@TheSeanUhTron 2 жыл бұрын
I've never used reflections... But now that I learn a little bit more about it, I can see this being useful for debugging a running Java web application. JSP pages can be modified while the server is running, just like with PHP. So I could put some debug code with Reflections in it into one of those pages and mess with the main server code without having to recompile and redeploy!
@nila-333
@nila-333 Жыл бұрын
Thank you so much
@tfamidoinglol4243
@tfamidoinglol4243 2 жыл бұрын
Video suggestion : Java Locks Also, thank you for all of your videos, John. They are really helpful. 😄
@shubhamagarwal9182
@shubhamagarwal9182 6 ай бұрын
helpful ### Thumb rule - if it is possible to do something without reflection - it's best to avoid using reflection. - generally without reflection - our code will be faster - more robust - more testable - & generally just easier and more pleasant to work with - use reflection where it is necessary.
@kbd3879
@kbd3879 Жыл бұрын
Cool Video Title man , i love your videos!!
@nischalofchrist
@nischalofchrist 2 жыл бұрын
This with your annotations video, and I totally understand how SpringBoot calls functions that you had defined with their annotations.
@Zeero3846
@Zeero3846 Жыл бұрын
The biggest loss, other than performance, you will have when you use reflection is the ability to trace your code even with the most powerful IDE features. You are guaranteeing the need for special documentation, and never assume you can do that well or that others will even bother with it if you do write it. Plus, writing a domain specific language to do whatever hack you were going to do is probably easier to write, test, and debug than a reflection-based solution that is forced to adopt a Java-centric design. Personally, the only legit usage I find for reflection is creating a plug-in system.
@mightygreen3364
@mightygreen3364 2 жыл бұрын
This is super interesting, I can especially see myself use this for testing classes
@ObieR
@ObieR 2 жыл бұрын
Dude I cannot thank you enough for your incredible work. The way you break down these concepts make them so easy to understand. Would be amazing if could do a video about RX Java!!
@johnkeck
@johnkeck 2 жыл бұрын
Great explanation! Thanks, John!
@blackblather
@blackblather Жыл бұрын
I like the irony of how neeva sponsored this video, telling us how annoying ads are.
@inao-cz
@inao-cz 2 жыл бұрын
Really cool and nicely shown use of Reflections. For example, I've used this to autoload classes where I wanted and was lazy to write new Command(); 20 times.
@MrAikien
@MrAikien 2 жыл бұрын
Wow! This is awesome! Thanks! 👌👍🙏
@turrnut
@turrnut 2 жыл бұрын
People KEPT SAYING java is a static language, but with reflection, java is both static AND dynamic. And same thing, java have Stream API that implements Function Programming, so java is both a FP and an OOP language
@cerealhit555
@cerealhit555 Жыл бұрын
God I LOVE YOUR VIDS. I had somewhat of a hard time to understand reflection but now it's clear as ever.
@princethampan
@princethampan 11 ай бұрын
That was a cool simple and very useful tutorial. Thank you very much.
@ollysalanson9452
@ollysalanson9452 2 жыл бұрын
Thank you John!
@whiz-code
@whiz-code 2 жыл бұрын
You are really a coding geek. Thank you
@avijitbanik531
@avijitbanik531 Жыл бұрын
Hey man Neeva is awesome. I am a beginner to Java and your core concepts are really awesome. May I know your preference of OS to be habituate that with myself and I will have more experience ?
@kishDoesThings
@kishDoesThings 2 жыл бұрын
spend your whole life learning OOP concepts like encapsulation,only to get thrown out the window. It's so crazy to think this but Java reminds me of Anakin from Star Wars . "you were the chosen one."
@ShermukhammadKarimov
@ShermukhammadKarimov 8 ай бұрын
Thanks for clear explanation.
@АнастасіяЛях-м6е
@АнастасіяЛях-м6е Жыл бұрын
Thank you! You are wonderful teacher👍
@bradenborman4396
@bradenborman4396 2 жыл бұрын
Just a few weeks ago, I refactored some real old code where a declared factory was setup, and depending on when it met a condition it returned a new instance of an abstract class - in todays world, you would use spring and make each one a component and put it in the app context, and loop through a list to check if it returns true and make a new instance then, but this code, had a literal 40 if statements, and each one just returned a new instance with the same constructor. Rather than refactoring to get it to a more proper todays day in age, I at least removed all the declared new instance statements, and saved the class that would try to be instantiated, and then used reflection and the get declared constructor to make a new instance to return. Cut down the code tremendously and I didn’t have to fix oodles of tests 😄
@stevanvieira3665
@stevanvieira3665 10 ай бұрын
Great explanation, loved it, thanks :)
@Naimadmdp
@Naimadmdp 2 жыл бұрын
Nice video mate! And a great way to explain it too. Thanks for share your knowledge.
@surajverma-ut4kj
@surajverma-ut4kj 2 жыл бұрын
Hey John, really loves your explanation. You say you will post every week, but I am still waiting for your new video!! Kindly explain SpringMVC, DAO class.
@Kabasaurus
@Kabasaurus Жыл бұрын
Great explanation, thanks you so much on helping me on my studies :)
@dineshdixit8206
@dineshdixit8206 Жыл бұрын
My like is for your video name you described. That reflection... ❤
@theredd1703
@theredd1703 11 ай бұрын
Your explanation is awesome!! Thanks!
@HonestPursuit
@HonestPursuit 13 күн бұрын
Thanks for this video.
@amallkrishna
@amallkrishna 2 жыл бұрын
Hello John! Your videos are quite helpful. Can you do a video on "Modules" in Java?
@CallumAtwal
@CallumAtwal Жыл бұрын
A good use case for reflection is loading some class based on a string (of the package name) when you have multiple ones. Eg you might have to support something with multiple years. And you can use a year string to dynamically load a particular year class
@christophrohde1415
@christophrohde1415 Жыл бұрын
The first answer after I see this is: „Why Java do not have default Parameters?“ You can query on annotations. You can parse this. You can set it in the method call. Corrected me if I‘m wrong.
Optionals In Java - Simple Tutorial
15:53
Coding with John
Рет қаралды 227 М.
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
Une nouvelle voiture pour Noël 🥹
00:28
Nicocapone
Рет қаралды 9 МЛН
Reflection API | Java Tutorial
21:48
Naresh i Technologies
Рет қаралды 91 М.
5 Signs of an Inexperienced Self-Taught Developer (and how to fix)
8:40
Generics In Java - Full Simple Tutorial
17:34
Coding with John
Рет қаралды 1,1 МЛН
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 913 М.
Multithreading in Java Explained in 10 Minutes
10:01
Coding with John
Рет қаралды 1 МЛН
Java's Creators Rejected Multiple Inheritance - Here's Why
13:14
Coding with John
Рет қаралды 71 М.
The Absolute Best Intro to Monads For Software Engineers
15:12
Studying With Alex
Рет қаралды 680 М.
Array vs. ArrayList in Java Tutorial - What's The Difference?
17:36
Coding with John
Рет қаралды 578 М.
How To Call a REST API In Java - Simple Tutorial
29:14
Coding with John
Рет қаралды 293 М.
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН