<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mahich123</title>
    <description>The latest articles on DEV Community by Mahich123 (@mahich123).</description>
    <link>https://dev.to/mahich123</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F710311%2Faa827a6e-0bb3-4d0b-ab32-97b792bd5626.jpeg</url>
      <title>DEV Community: Mahich123</title>
      <link>https://dev.to/mahich123</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mahich123"/>
    <language>en</language>
    <item>
      <title>My system Design Learning</title>
      <dc:creator>Mahich123</dc:creator>
      <pubDate>Wed, 15 Apr 2026 08:09:16 +0000</pubDate>
      <link>https://dev.to/mahich123/my-system-design-learning-bg9</link>
      <guid>https://dev.to/mahich123/my-system-design-learning-bg9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Poll &amp;amp; Push Strategy&lt;/strong&gt;: Poll means when client request server for updates (long polling / short polling) . Push means when server sends messages to client (SSE (Server-Sent Events) , WS (Web Sockets) ) .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;short polling:&lt;/strong&gt; short polling is when client periodically sents request to server for updates &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdx6mu5fo7xqrpku63lb1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdx6mu5fo7xqrpku63lb1.png" alt="short polling" width="528" height="708"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Long Polling:&lt;/strong&gt; It is a technique in which clients http request is held by server until new data becomes available.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzrm2hg7fin92ivn1dmyh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzrm2hg7fin92ivn1dmyh.png" alt="long polling" width="578" height="596"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vertical Scaling:&lt;/strong&gt; Vertical scaling means &lt;strong&gt;adding more resources (CPU, RAM, storage, etc.) to a single server or machine&lt;/strong&gt; to handle increased load.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Example&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We start with a server that has &lt;strong&gt;2 CPUs &amp;amp; 4 GB RAM&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;When traffic grows, instead of adding more servers, we upgrade it to &lt;strong&gt;8 CPUs &amp;amp; 32 GB RAM&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Same machine, just more powerful.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6iur0povwo2lr8bl7eie.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6iur0povwo2lr8bl7eie.png" alt="vertical scaling" width="800" height="581"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Horizontal Scaling&lt;/strong&gt;:  Horizontal scaling means &lt;strong&gt;adding more servers/machines&lt;/strong&gt; to our system and distributing the load among them. Instead of making &lt;strong&gt;one server stronger&lt;/strong&gt; (vertical scaling), we add more servers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr1e5kbn2a8ktjypcndhx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr1e5kbn2a8ktjypcndhx.png" alt="horizontal scaling" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Load Balancer:&lt;/strong&gt; A load balancer is a service which distributes incoming traffic  across multiple servers to prevent any single server from becoming overloaded &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftccpzmf87wlbdd85y83y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftccpzmf87wlbdd85y83y.png" alt="load balancer" width="578" height="596"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cache eviction policies:&lt;/strong&gt; It is a set of rule that decides which data to remove when cache is full. As cache storage is small we can't keep everything we want .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Proxy:&lt;/strong&gt; proxy or a forward proxy stays in front of client. when we request a website it goes through proxy first. The proxy then asks the website for data on behalf.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdrbrcnf31ph9a2o4vjb4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdrbrcnf31ph9a2o4vjb4.png" alt="forward proxy" width="800" height="286"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reverse Proxy:&lt;/strong&gt; reverse proxy stays in front of our web server. when we visit a site we are not talking to actual database server, we are talking to a reverse proxy that decides which backend server should handle our request&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3uq7p77vw6c8dz2774s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3uq7p77vw6c8dz2774s.png" alt="reverse proxy" width="761" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Websocket&lt;/strong&gt;: Websocket provides bidirectional connection between client &amp;amp; server over single TCP connection. &lt;/p&gt;

&lt;p&gt;TCP  (Transmission Control Protocol) is way for two devices on a network to talk to each other&lt;/p&gt;

&lt;p&gt;In traditional http connction when we sent a request to the server , server reads it and sends back response. After response is delivered the connection gets closed. But in websocket connection we send request to server only once . As long as the line is open both client &amp;amp; server can talk to each other . &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcbo9xteld5rtsfykv9vy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcbo9xteld5rtsfykv9vy.png" alt="websocket connection" width="687" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8sslwkhczy091pygncfo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8sslwkhczy091pygncfo.png" alt="http connection" width="655" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Api Gateway:&lt;/strong&gt; Api gateway is a single entry point that sits between client and backend services. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97tzxw861c0pf8x7gebg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97tzxw861c0pf8x7gebg.png" alt="api gateway" width="677" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Idempotency:&lt;/strong&gt; It means performing the same operation multiple times gives the same result as doing it once.&lt;/p&gt;

&lt;p&gt;In API HTTP explicitly defines which methods should be idempotent. For example, &lt;strong&gt;GET&lt;/strong&gt; requests are designed not to modify server state, making them naturally idempotent, no matter how many times we send the same request, the outcome remains the same. That’s why we can refresh a webpage repeatedly without causing unintended side effects.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Middleware &amp; Project structure.</title>
      <dc:creator>Mahich123</dc:creator>
      <pubDate>Thu, 22 Dec 2022 19:09:34 +0000</pubDate>
      <link>https://dev.to/mahich123/middleware-project-structure-22bc</link>
      <guid>https://dev.to/mahich123/middleware-project-structure-22bc</guid>
      <description>&lt;p&gt;&lt;strong&gt;Middleware:&lt;/strong&gt;&lt;br&gt;
Middleware is a handler or we can say controller function . We sent request to server and server gives a response. Middleware are thoose functions which appears in the middle of request and response bellow shown the structure of a middleware : &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ntostlyl0pn72wlam2e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ntostlyl0pn72wlam2e.png" alt="middleware"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The middleware function looks like ,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="p"&gt;....&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It has access to request and response object also it has next   function . When client sents request to server that server sents  that request to middleware then middleware gives back that  response to client . Middleware runs it functionality to give  response. We can write custom middlewares :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;myLogger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;next&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;LOGGED&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="nf"&gt;next&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;created a middleware called myLogger which just prints LOGGED . We can see there's a next function it basically passes myLogger response to next middleware . In a server it can has multiple middlewares or could be have single . So now we know what is middleware but why we use it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why to use middleware:&lt;/strong&gt; &lt;br&gt;
Middleware are used to add logging and authentication functionality. If we want to record the number request we get we can use middleware. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project Structure:&lt;/strong&gt; &lt;br&gt;
When we create projects most of the time we don't look at the structure of project. We just create the project but after some day when we get back to that same projects we may ran into bugs and any other errors at that time it becomes difficult to solve that issue because our project remains unorganized . If we organize our project it becomes easier to get to know that files . Sharing a project structure which feels organized for me you may keep your files in your own way , &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;app&lt;br&gt;
config&lt;br&gt;
controller&lt;br&gt;
db&lt;br&gt;
error&lt;br&gt;
lgos &lt;br&gt;
middleware&lt;br&gt;
routes&lt;br&gt;
test&lt;br&gt;
util&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;.env&lt;br&gt;
.gitignore&lt;br&gt;
server.js&lt;/p&gt;

&lt;p&gt;for particular work created separated directory which helps to know the workflow and it becomes easier to debug error.&lt;/p&gt;

&lt;p&gt;That's all for today . Thank you for reading !! &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
      <category>express</category>
    </item>
    <item>
      <title>Image Search</title>
      <dc:creator>Mahich123</dc:creator>
      <pubDate>Sat, 22 Oct 2022 14:06:13 +0000</pubDate>
      <link>https://dev.to/mahich123/image-search-57od</link>
      <guid>https://dev.to/mahich123/image-search-57od</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t1JiEExL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h35gylp720p5ll271219.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t1JiEExL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h35gylp720p5ll271219.png" alt="Image Search" width="880" height="880"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Hey Everyone 👋
&lt;/h1&gt;

&lt;h2&gt;
  
  
  I'm Mahi.
&lt;/h2&gt;

&lt;p&gt;I'm working on an open-source project called Image Search. &lt;br&gt;
A web-app created by myself and my team to explore and find images for your needs, as well as to offer free downloads with no restrictions and to upload your creativity. This web app is currently being updated, Also not yet finished. We are looking for collaborators on GitHub. You can help us to improve it and make it grow . If you want to contribute, you can look into the repo link given below.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/Mahich123/Image_Search"&gt;https://github.com/Mahich123/Image_Search&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Preview Link:&lt;/strong&gt; &lt;a href="https://image-search-tan.vercel.app/"&gt;https://image-search-tan.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Your small contribution matters .&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Java OOP Concepts </title>
      <dc:creator>Mahich123</dc:creator>
      <pubDate>Sat, 20 Nov 2021 09:50:34 +0000</pubDate>
      <link>https://dev.to/mahich123/java-oop-concepts-17a4</link>
      <guid>https://dev.to/mahich123/java-oop-concepts-17a4</guid>
      <description>&lt;h2&gt;
  
  
  Class in Java
&lt;/h2&gt;

&lt;p&gt;A class is a group of objects which have common properties. It is a template or blueprint from which objects are created.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="c1"&gt;//Creating Student class.  &lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Student&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;  
 &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;  
 &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;  
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Static in Java
&lt;/h2&gt;

&lt;p&gt;Static is a keyword. If this keyword is prefixed before the function name, the function is static function. If a method / function is static than it can be access  from anywhere.&lt;/p&gt;

&lt;p&gt;But if method is not static than it can't be run or accessible. Like below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; 
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;here main method is static so it is static method&lt;br&gt;
but in this bellow method :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;calling&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; 
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;this one is not static it's a non-static method. So we can't run it. If we want to run a program we have to run through main method and the main method is always static if we remove static from main method than our main method won't run. And as it is static we can't call a non-static method inside a static method like bellow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; 
      &lt;span class="n"&gt;calling&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But we can call or access a static method inside a non-static method like bellow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;fun&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;calling&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; 
  &lt;span class="n"&gt;fun&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SO there's a way of calling it inside static method.&lt;br&gt;
By creating object. So we have to create object than we can access no-static method through object like bellow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; 
    &lt;span class="nc"&gt;Main&lt;/span&gt; &lt;span class="n"&gt;obj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Main&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// so here i'm creating object for my class .&lt;/span&gt;
    &lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;calling&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;        &lt;span class="c1"&gt;// Here calling it through the object.&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt; 

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;calling&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; 

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;So this way we can  use non-static method or function.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Function/method Overloading
&lt;/h2&gt;

&lt;p&gt;If I have multiple function/method with same name then it's called method/function overloading , and it should have different arguments a b d.... or type of arguments, and should be different means int or string .... Like bellow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;fun&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
      &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
  &lt;span class="o"&gt;}&lt;/span&gt;

    &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;fun&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;        
  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Constructors
&lt;/h2&gt;

&lt;p&gt;In Java, a constructor is a block of codes similar to the method. It is called when an instance of the class is created. Like below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MyClass&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
   &lt;span class="nc"&gt;Int&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
   &lt;span class="nc"&gt;MyClass&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
      &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
   &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ConsDemo&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
   &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;[])&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
      &lt;span class="nc"&gt;MyClass&lt;/span&gt; &lt;span class="n"&gt;t1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;MyClass&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
      &lt;span class="nc"&gt;MyClass&lt;/span&gt; &lt;span class="n"&gt;t2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;MyClass&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
      &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;num&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;" "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;t2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;num&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
   &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Inheritance
&lt;/h2&gt;

&lt;p&gt;Inheritance in Java is a mechanism in which one object acquires all the properties and behaviors of a parent object. Inheritance represents the IS-A relationship which is also known as a parent-child relationship.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Employee&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;  
 &lt;span class="kt"&gt;float&lt;/span&gt; &lt;span class="n"&gt;salary&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;40000&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;  
&lt;span class="o"&gt;}&lt;/span&gt; 

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Programmer&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Employee&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;  
 &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;bonus&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;10000&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;  
 &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;[]){&lt;/span&gt;  
   &lt;span class="nc"&gt;Programmer&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Programmer&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;  
   &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Programmer salary is:"&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;salary&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;  
   &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Bonus of Programmer is:"&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;bonus&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;  
   &lt;span class="o"&gt;}&lt;/span&gt;  
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here for accessing the value of Employee class we have to use extends keyword in main class or destination class&lt;/p&gt;




&lt;h2&gt;
  
  
  Types of Inheritance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Single Inheritance :&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;One class extends another class &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Multilevel Inheritance: &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;One class can inherit from derived class and derived class will become parent for another new class&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Multiple Inheritance : &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Once class extends more than one class then it's called multiple inheritance. Java does not support multiple inheritance. We can do this in interfaces.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Hierarchical Inheritance:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;One class is inherited by multiple classes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Hybrid Inheritance:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Combination of single and multiple inheritance. Java don't have hybrid inheritance.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Polymorphism
&lt;/h2&gt;

&lt;p&gt;Polymorphism means many ways to represent single entity or item.&lt;br&gt;
&lt;code&gt;Types of Polymorphism :&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compiled time or static. &lt;/li&gt;
&lt;li&gt;Runtime or Dynamic.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Overriding
&lt;/h2&gt;

&lt;p&gt;Overriding is a feature that allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its super-classes or parent classes. When a method in a subclass has the same name, same parameters or signature, and same return type(or sub-type) as a method in its super-class, then the method in the subclass is said to override the method in the super-class.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Static methods can't override&lt;br&gt;
Because static method will be called and it doesn't depends on objects so it can't be override&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Overriding depends on objects.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Instance Variable
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The variables that are declared inside the class but outside the scope of any method are called instance variables in Java.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The instance variable is initialized at the time of the class loading or when an object of the class is created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;An instance variable can be declared using different access modifiers available in Java like default, private, public, and protected.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Overloading and Overriding doesn't applies to instance variables.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0z6XVZ66--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://static.javatpoint.com/core/images/instance-variable-in-java.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0z6XVZ66--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://static.javatpoint.com/core/images/instance-variable-in-java.png" alt="image" width="558" height="351"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Encapsulation
&lt;/h2&gt;

&lt;p&gt;Encapsulation is a process of wrapping code and data together into a single unit. &lt;/p&gt;
&lt;h3&gt;
  
  
  Advantage of Encapsulation in Java
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;By providing only a setter or getter method, you can make the class read-only or write-only. In other words, you can skip the getter or setter methods.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is a way to achieve data hiding in Java because other class will not be able to access the data through the private data members.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="c1"&gt;//A Java class which is a fully encapsulated class.  &lt;/span&gt;
&lt;span class="c1"&gt;//It has a private data member and getter and setter methods.  &lt;/span&gt;
&lt;span class="kn"&gt;package&lt;/span&gt; &lt;span class="nn"&gt;com.javatpoint&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;  
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Student&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;  
&lt;span class="c1"&gt;//private data member  &lt;/span&gt;
&lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;  
&lt;span class="c1"&gt;//getter method for name  &lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="nf"&gt;getName&lt;/span&gt;&lt;span class="o"&gt;(){&lt;/span&gt;  
&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;  
&lt;span class="o"&gt;}&lt;/span&gt;  
&lt;span class="c1"&gt;//setter method for name  &lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setName&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;){&lt;/span&gt;  
&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;  
&lt;span class="o"&gt;}&lt;/span&gt;  
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="c1"&gt;//A Java class to test the encapsulated class.  &lt;/span&gt;
&lt;span class="kn"&gt;package&lt;/span&gt; &lt;span class="nn"&gt;com.javatpoint&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;  
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Test&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;  
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;){&lt;/span&gt;  
&lt;span class="c1"&gt;//creating instance of the encapsulated class  &lt;/span&gt;
&lt;span class="nc"&gt;Student&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Student&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;  
&lt;span class="c1"&gt;//setting value in the name member  &lt;/span&gt;
&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setName&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"hi"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;  
&lt;span class="c1"&gt;//getting value of the name member  &lt;/span&gt;
&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="o"&gt;());&lt;/span&gt;  
&lt;span class="o"&gt;}&lt;/span&gt;  
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Abstraction
&lt;/h2&gt;

&lt;p&gt;Data abstraction is the process of hiding certain details and showing only essential information to the user. Abstraction can be achieved with either abstract classes or interfaces.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Abstract class: is a restricted class that cannot be used to create objects (to access it, it must be inherited from another class).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Abstract method: can only be used in an abstract class, and it does not have a body.&lt;br&gt;
&lt;/p&gt;


&lt;/blockquote&gt;
&lt;br&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;abstract&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Animal&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;abstract&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;animalSound&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Zzz"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Private
&lt;/h2&gt;

&lt;p&gt;The private keyword is an access modifier used for attributes, methods and constructors, making them only accessible within the declared class.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If we make any class constructor private, we cannot create the instance of that class from outside the class.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Public
&lt;/h2&gt;

&lt;p&gt;The public keyword is an access modifier used for classes, attributes, methods and constructors, making them accessible by any other class.&lt;/p&gt;




&lt;h2&gt;
  
  
  Protected
&lt;/h2&gt;

&lt;p&gt;The protected keyword is an access modifier used for attributes, methods and constructors, making them accessible in the same package and subclasses.&lt;/p&gt;




&lt;h2&gt;
  
  
  Rules of modifiers
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5SqdrdxM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0p6k0eizawx6kfr71ity.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5SqdrdxM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0p6k0eizawx6kfr71ity.png" alt="Image" width="540" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Here '+' means accessible &amp;amp; 'blank' means not accessible. &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Java packages
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;lang.
&lt;/li&gt;
&lt;li&gt;io.&lt;/li&gt;
&lt;li&gt;util.&lt;/li&gt;
&lt;li&gt;applet.&lt;/li&gt;
&lt;li&gt;awt.&lt;/li&gt;
&lt;li&gt;net.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  hashCode()
&lt;/h2&gt;

&lt;p&gt;The hashCode() method is a Java Integer class method which returns the hash code for the given inputs. It basically gives a random number .&lt;/p&gt;




&lt;h2&gt;
  
  
  Some points of abstract method
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;In abstract method we can't create static constructor.&lt;/li&gt;
&lt;li&gt;We can't create abstract static method.&lt;/li&gt;
&lt;li&gt;We can create static method inside abstract class.&lt;/li&gt;
&lt;li&gt;If one of the method is abstract then class also needs to be abstract as well.
___&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Interface
&lt;/h2&gt;

&lt;p&gt;An interface is a reference type in Java. It is similar to class. It is a collection of abstract methods. A class implements an interface.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final
&lt;/h2&gt;

&lt;p&gt;The final keyword in java is used to restrict the user.&lt;br&gt;
If you make any variable as final, you cannot change the value of final variable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Some points for static interface method
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Static interface method should always have body.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;A&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;greeting&lt;/span&gt;&lt;span class="o"&gt;(){&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"I am in A"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;We have to call it via interface name.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Main&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
         &lt;span class="c1"&gt;// Here we created a object&lt;/span&gt;
         &lt;span class="nc"&gt;Main&lt;/span&gt; &lt;span class="n"&gt;obj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Main&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
                 &lt;span class="c1"&gt;// Here we called it via interface name&lt;/span&gt;
         &lt;span class="no"&gt;A&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;greeting&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Nested Interface
&lt;/h2&gt;

&lt;p&gt;An interface, i.e., declared within another interface or class, is known as a nested interface.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A nested interface declared within an interface must be public.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;A&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;NestedInterface&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="kt"&gt;boolean&lt;/span&gt; &lt;span class="nf"&gt;isodd&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;


&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;B&lt;/span&gt; &lt;span class="kd"&gt;implements&lt;/span&gt; &lt;span class="no"&gt;A&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;NestedInterface&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="nd"&gt;@Override&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;boolean&lt;/span&gt; &lt;span class="nf"&gt;isodd&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;A nested interface declared within a class can have any access modifier&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;These are some OOP concepts. 😀&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>java</category>
      <category>oop</category>
    </item>
    <item>
      <title>My Experience at HackNitr 3.0 😄</title>
      <dc:creator>Mahich123</dc:creator>
      <pubDate>Sun, 31 Oct 2021 06:30:30 +0000</pubDate>
      <link>https://dev.to/mahich123/my-experience-at-hacknitr-30-3la4</link>
      <guid>https://dev.to/mahich123/my-experience-at-hacknitr-30-3la4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;First of all if you don't know what is HackNIR 3.0 you can check my other blog bellow: &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://dev.to/mahich123/what-is-hacknitr-30-2enf"&gt;https://dev.to/mahich123/what-is-hacknitr-30-2enf&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;So, I attended this hackathon as a beginner. So it started with workshops they conducted live sessions. Through sessions they provided various kinds of things new tech solved issues and many more. Then conducted min-event we played games from there got to know many peoples communicated with them learned from them. We did Bob Ross painting also and my painting was 😅. &lt;/p&gt;

&lt;p&gt;So this hackathon was really beginner friendly. Hackathons are fun we get chance to meet new people. Get to know what to they do , And lot's of new thigs. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;So at the end it was really amazing day 😀 . &lt;/p&gt;
&lt;/blockquote&gt;

</description>
    </item>
    <item>
      <title>What is HackNitr 3.0 🤔</title>
      <dc:creator>Mahich123</dc:creator>
      <pubDate>Sat, 30 Oct 2021 04:57:41 +0000</pubDate>
      <link>https://dev.to/mahich123/what-is-hacknitr-30-2enf</link>
      <guid>https://dev.to/mahich123/what-is-hacknitr-30-2enf</guid>
      <description>&lt;p&gt;HackNITR 3.0 is a hackathon event it's a 3 day event. From 29 to 31  October. It's came with a lot's of things, like many workshops, challenges and mini-events. In workshops they talked about Machine learnings, SAWO SDK, Koii Network, Next.js, Storyblok,  UI/UX and lot's of other things. Besides workshops they conducted games ceremony like Smash Karts, type racer, Scribble and other games. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;So it's a short summary of this hackathon they have lot's of other challenges. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  If you want to know more about them check below:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://hacknitr.tech/"&gt;https://hacknitr.tech/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Vscode in browser 🔥</title>
      <dc:creator>Mahich123</dc:creator>
      <pubDate>Thu, 21 Oct 2021 17:17:42 +0000</pubDate>
      <link>https://dev.to/mahich123/vscode-in-browser-37b6</link>
      <guid>https://dev.to/mahich123/vscode-in-browser-37b6</guid>
      <description>&lt;p&gt;All of we used VsCode IDE. And we love it their interface and all other features are awesome. To use it we need to install there application . But not now if you want you can is it in your lovely browser also 😮&lt;/p&gt;

&lt;p&gt;So how to do that or how to use it in browser :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;just goto : https://vscode.dev/ 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;After opening the &lt;span class="nb"&gt;link &lt;/span&gt;you can see a window as it showing below 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0wh1nxx6bkbo6ws971pb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0wh1nxx6bkbo6ws971pb.png" alt="Demo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more details you can go through the link below: &lt;br&gt;
&lt;strong&gt;&lt;a href="https://code.visualstudio.com/blogs/2021/10/20/vscode-dev" rel="noopener noreferrer"&gt;https://code.visualstudio.com/blogs/2021/10/20/vscode-dev&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;so now you can use your IDE in your browser Happy coding 😀 &lt;/p&gt;

</description>
      <category>vscode</category>
    </item>
  </channel>
</rss>
