{"id":21662828,"url":"https://github.com/urunov/java-core-projects","last_synced_at":"2026-03-27T02:43:28.352Z","repository":{"id":50568996,"uuid":"480336148","full_name":"Urunov/Java-Core-Projects","owner":"Urunov","description":"Java Fundamental, OOP, Collection Framework, Lambda, Stream API, File System","archived":false,"fork":false,"pushed_at":"2022-09-13T11:30:51.000Z","size":3066,"stargazers_count":16,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-22T04:07:30.179Z","etag":null,"topics":["collection","java","oops"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Urunov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-11T10:43:21.000Z","updated_at":"2025-03-16T16:18:37.000Z","dependencies_parsed_at":"2022-09-08T02:02:17.836Z","dependency_job_id":null,"html_url":"https://github.com/Urunov/Java-Core-Projects","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Urunov/Java-Core-Projects","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Urunov%2FJava-Core-Projects","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Urunov%2FJava-Core-Projects/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Urunov%2FJava-Core-Projects/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Urunov%2FJava-Core-Projects/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Urunov","download_url":"https://codeload.github.com/Urunov/Java-Core-Projects/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Urunov%2FJava-Core-Projects/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31011691,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-27T02:33:22.146Z","status":"ssl_error","status_checked_at":"2026-03-27T02:33:21.763Z","response_time":164,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collection","java","oops"],"created_at":"2024-11-25T10:18:16.575Z","updated_at":"2026-03-27T02:43:28.324Z","avatar_url":"https://github.com/Urunov.png","language":"Java","readme":"# Java Fundamentals and Project. [ru/eng]\n\n   1. Java Core\n   2. OOPs\n   3. LambdaExpression\n   4. Colelction Framework\n\n\n------------\n## ~~\u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus;~~\n------------\n\n## Java OOP \n![](https://assets-global.website-files.com/5c7536fc6fa90e7dbc27598f/5d8350501fa9f72a27a893bf_Oo65m_6e_qkDzypQAEMmPHMgn_mbbZo492Zf-qLCs1Rw1gc6CUAZqLxgmawjN1qdAiIrSqtRU5PpkEYlM2MAhUYjt1SwuvUialeWk2c6mIu0Vwt5F97USlsy1lmLTy_XsHjH5GK0U2BPhz3TEA.png)\n\n# Definition of OOP Concepts in Java\n\nThe main ideas behind Java’s Object-Oriented Programming, OOP concepts include **abstraction**, **encapsulation**, **inheritance** and **polymorphism**. Basically, Java OOP concepts let us create working methods and variables, then re-use all or part of them without compromising security. Grasping OOP concepts is key to understanding how Java works.\n\n\n## \u0026diams;Abstraction\n\n------------\n![](https://4.bp.blogspot.com/-f4xkVxrB9cE/Vr35rdyb1OI/AAAAAAAAKww/omBDIeFZEx0/s1600/Java%2BTutorial%2B-%2BJava%2Babstract%2Bclass%2528Printer%2529.jpg)\nUsing simple things to represent complexity. We all know how to turn the TV on, but we don’t need to know how it works in order to enjoy it. In Java, abstraction means simple things like **objects**, **classes** and **variables** represent more complex underlying code and data. This is important because it lets you avoid repeating the same work multiple times.\n\n\u003e ### *How Abstraction Works*\n\u003e Abstraction lets programmers create useful and reusable tools. For example, a programmer can create several different types of **objects**, which can be variables, functions or data structures. Programmers can also create different **classes** of objects as ways to define the objects.\n\u003e For instance, a class of variable might be an address. The class might specify that each address object shall have a name, street, city and zip code. The objects, in this case, might be employee addresses, customer addresses or supplier addresses.For instance, a class of variable might be an address. The class might specify that each address object shall have a name, street, city and zip code. The objects, in this case, might be employee addresses, customer addresses or supplier addresses.\n\n## \u0026diams;Encapsulation\n\n------------\n![](https://telegra.ph/file/44c9d6bcc07b09a76b168.jpg)\n\nThe practice of keeping fields within a class private, then providing access to those fields via public methods. Encapsulation is a protective barrier that keeps the data and code safe within the class itself. We can then reuse objects like code components or variables without allowing open access to the data system-wide.\n\n\u003e ### *How Encapsulation Works*\n\u003e Encapsulation lets us reuse functionality without jeopardizing security. It’s a powerful, time-saving OOP concept in Java. For example, we may create a piece of code that calls specific data from a database. It may be useful to reuse that code with other databases or processes. Encapsulation lets us do that while keeping our original data private. It also lets us alter our original code without breaking it for others who have adopted it in the meantime.\n\n### \u0026diams;Inheritance\n\n------------\n\n![](https://d1jnx9ba8s6j9r.cloudfront.net/blog/wp-content/uploads/2017/04/Inheritance-example-java.png)\nA special feature of Object-Oriented Programming in Java, Inheritance lets programmers create new classes that share some of the attributes of existing classes. Using Inheritance lets us build on previous work without reinventing the wheel.\n\n\u003e ### *How Inheritance Works*\n\u003e Inheritance is another labor-saving Java OOP concept that works by letting a new class adopt the properties of another. We call the inheriting class a subclass or a child class. The original class is often called the parent. We use the keyword extends to define a new class that inherits properties from an old class.\n\n### \u0026diams;Polymorphism\n\n------------\n![](http://www.btechsmartclass.com/java/java_images/OOP-Concept-Inheritance.png)\n\nAllows programmers to use the same word in Java to mean different things in different contexts. One form of polymorphism is **method overloading**. That’s when the code itself implies different meanings. The other form is **method overriding**. That’s when the values of the supplied variables imply different meanings. Let’s delve a little further.\n\n\n\u003e ### *How Polymorphism Works*\n\u003e Polymorphism in Java works by using a reference to a parent class to affect an object in the child class. We might create a class called “horse” by extending the “animal” class. That class might also implement the “professional racing” class. The “horse” class is “polymorphic,” since it inherits attributes of both the “animal” and “professional racing” class.\n\u003e \n\u003e Two more examples of polymorphism in Java are method overriding and method overloading.\n\u003e \n\u003e In **method overriding**, the child class can use the OOP polymorphism concept to override a method of its parent class. That allows a programmer to use one method in different ways depending on whether it’s invoked by an object of the parent class or an object of the child class.\n\u003e \n\u003e In **method overloading**, a single method may perform different functions depending on the context in which it’s called. This means a single method name might work in different ways depending on what arguments are passed to it.\n\n\n\n### *Examples of OOP Concepts in Java*\n*Now that we explained the foundational OOP concepts in Java, let’s look at a few common examples.*\n\n### Short Encapsulation Example in Java\nIn the example below, encapsulation is demonstrated as an OOP concept in Java. Here, the variable “name” is kept private or “encapsulated.”\n\n\n```java\n    //save as Student.java\n    package com.javatpoint;\n    \n    public class Student {\n        private String name;\n        public String getName() {\n            return name;\n        }\n        public void setName(String name) {\n            this.name = name;\n        }\n    }\n    \n    \n    //save as Test.java\n    package com.javatpoint;\n    class Test {\n        public static void main(String[] args) {\n            Student s = new Student();\n            s.setName(\"Donik\");\n            System.out.println(s.getName());\n        }\n    }\n```\n\n------------\n\n\n\n    Compile By: javac -d . Test.java\n    Run By: java com.javatpoint.Test\n    \n    Output: Donik\n\n\n------------\n\n### Example of Inheritance in Java\n*It’s quite simple to achieve inheritance as an OOP concept in Java. Inheritance can be as easy as using the **extends** keyword:*\n\n```java\nclass Students {\n\n}\nclass Teachers extends Students {\n\n}\nclass Univercity extends Teachers {\n\n}\n```\n\n------------\n\n### Short Example of Polymorphism in Java\n*In the example below of polymorphism as an OOP concept in Java, we have two classes: Person and Employee. The Employee class inherits from the Person class by using the keyword **extends**. Here, the child class overrides the parent class.*\n\n```java\npackage com.javatpoint;\n\nclass Person {\n    void walk() {\n        System.out.println(\"Can Run….\");\n    }\n}\nclass Employee extends Person {\n    public static void main(String args[]) {\n        Person p = new Employee(); //upcasting\n        p.walk();\n    }\n    void walk() {\n        System.out.println(\"Running Fast…\");\n    }\n}\n```\n\n------------\n\n\n\n    Compile By: javac -d . Employee.java\n    Run By: java com.javatpoint.Employee\n    \n    Output: Running Fast…\n------------\n\n\n## ~~\u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus; \u0026minus;~~\n\n## Lambda Expression\n\n Project\n =======\n\n \n The project includes an ATM program that serves consumers.\n \n Project performance structure :\n ![ATM-menu-tree-structure](https://user-images.githubusercontent.com/99829336/164917060-6279ff50-31ee-43c9-9b97-2299d6fe81b7.png)\n \n The project has 2 incoming data and 6 outgoing data.\n   \n   Incoming information.\n   \n      + The program will ask you to enter the card ID.\n      + Again you enter your card password.\n      \n   Output information.\n   \n      - View card account.\n      - Cash withdrawal.\n      - Replenish the card account.\n      - Currency exchange.\n      - SMS notification.\n      - Change the card code.\n      \n  * When you start the program, you will be asked for a plastic ID.\n  \u003cimg width=\"204\" alt=\"Screen Shot 2022-05-27 at 17 06 39\" src=\"https://user-images.githubusercontent.com/99829336/170696884-3374cfa3-d901-4b73-8ea9-5c4182938b68.png\"\u003e\nafter you enter -\u003e\n\n   * The card password is requested.\n   \u003cimg width=\"174\" alt=\"Screen Shot 2022-05-27 at 17 12 50\" src=\"https://user-images.githubusercontent.com/99829336/170697102-a8fe2dbd-8f11-4198-b02f-a4f16d9f8870.png\"\u003e\nafter you enter -\u003e\n\n❌ If your card ID is incorrect \u003cimg width=\"196\" alt=\"Screen Shot 2022-05-27 at 17 04 36\" src=\"https://user-images.githubusercontent.com/99829336/170697195-8f8b47ae-d5e2-4280-a8f5-ba62eeaa48d0.png\"\u003e  If your password is incorrect \u003cimg width=\"247\" alt=\"Screen Shot 2022-05-27 at 17 07 49\" src=\"https://user-images.githubusercontent.com/99829336/170697160-05e6b2af-596a-404f-9172-e925bf985f90.png\"\u003e you will get the answer\n\n\n\n✅ If your plastic ID and password are correct\n\n   * The program will open a list of services for you\n   \u003cimg width=\"245\" alt=\"Screen Shot 2022-05-27 at 17 16 30\" src=\"https://user-images.githubusercontent.com/99829336/170697728-84d264ba-b433-4762-8ab4-7e094623b24c.png\"\u003e\n\n   If you want to see the program's service list code, -\u003e [Click](https://github.com/Urunov/Java-Core-Projects/blob/master/ATM-Bank/src/main/java/uz/bepro/atm/model/uzbek/UzbekchaLogics.java)\n    \n   * Enter the order number you want to use the service for\n\n   I want to see my card account for example.\n   \u003cimg width=\"269\" alt=\"Screen Shot 2022-05-27 at 17 08 04\" src=\"https://user-images.githubusercontent.com/99829336/170697904-82b4a494-fb42-49eb-a939-0656ecbb088f.png\"\u003e\n   \n   ******************************************\n   \n   or I want to withdraw money from the card\n   \u003cimg width=\"316\" alt=\"Screen Shot 2022-05-27 at 17 08 17\" src=\"https://user-images.githubusercontent.com/99829336/170697923-e72a930a-db1f-4734-b4d0-7df686f43c0c.png\"\u003e\n\n\nYou can use any service ATM works in the same way.\n\nPlease to see the project [Click](https://github.com/Urunov/Java-Core-Projects/tree/master/ATM-Bank)\n\n\n## Reference \n\n1. Book-1. [Click](https://www.amazon.in/dp/B01GXXQ5KG?tag=guru99-21\u0026geniuslink=true)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furunov%2Fjava-core-projects","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Furunov%2Fjava-core-projects","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furunov%2Fjava-core-projects/lists"}