🚀 Day 1 of My 90 Days Java Full Stack Challenge Today I went deeper into Core OOP concepts in Java, and things are finally starting to feel practical and connected to real-world logic. Here’s what I learned today: 🔹 Class & Object A class is a blueprint, and objects are real instances created from it. This is how we represent real-world entities in programming. 🔹 Constructors Constructors run automatically when an object is created and are used to initialize object data. 🔹 this Keyword Used to refer to the current object. It helps differentiate between instance variables and parameters, and can also be used to call methods of the same object. 🔹 Constructor Chaining with this() One constructor can call another constructor of the same class. This avoids code duplication and keeps object initialization clean and structured. 💡 Biggest takeaway from today: OOP is not just about syntax — it’s about designing programs the way real-world objects behave. This is just the beginning of my 90 Days Java Full Stack journey — focusing on strong fundamentals before moving to Spring, Spring Boot, and React 💪 #Java #OOPS #90DaysChallenge #FullStackDeveloper #LearningInPublic #DeveloperJourney
Java OOP Fundamentals: Classes, Constructors, and this Keyword
More Relevant Posts
-
Deep Dive into Abstraction in Core Java Just implemented and explored one of the core pillars of Java OOP — Abstraction! In my project, I used an abstract class House to define what a house should do (like pillars() and walls()), while letting each subtype decide how it does it. 📁 Code link: https://lnkd.in/gbez5BHU 🧠 What I learned: 🔹 Abstraction helps define essential behavior without implementation details 🔹 Abstract classes allow shared concrete methods (basement(), windows()) 🔹 Runtime polymorphism enables switching behavior dynamically 🔹 Clean design and reusable code The classes I worked with: WoodHouse GlassHouse ConcreteHouse —all extending the abstract House class with their specific implementations ✨ 💡 Abstraction isn’t about hiding complexity — it’s about focusing on what matters most in object design. Huge thanks to my mentor Anand Kumar Buddarapu for guiding me through strong OOP foundations. Continuing the Java journey — step by step, concept by concept. 💻🔥 #Java #CoreJava #Abstraction #OOP #Polymorphism #CleanCode #GitHub #LearningByDoing #SoftwareEngineering
To view or add a comment, sign in
-
🚀 Common Mistakes New Java Developers Make — And How to Avoid Them Podcast: https://lnkd.in/dtFTnrzC Java remains one of the most powerful and widely used programming languages in the world. Yet, many new developers struggle not because Java is difficult, but because they overlook foundational principles. Here are some of the most common mistakes beginners make: 🔹 Ignoring OOP fundamentals like encapsulation, inheritance, polymorphism, and abstraction 🔹 Poor exception handling that leads to unstable applications 🔹 Misunderstanding memory management and object lifecycle 🔹 Not using version control tools like Git 🔹 Writing overly complex, inefficient code 🔹 Skipping proper testing and automation 🔹 Reinventing solutions instead of leveraging Java’s standard libraries 🔹 Struggling with concurrency due to weak thread management knowledge The solution? Focus on strong fundamentals. Practice consistently. Use standard libraries. Write clean code. Test everything. And most importantly — keep learning. Mastering Java is not about memorizing syntax. It is about understanding structure, efficiency, and scalable thinking. If you're starting your Java journey, build your foundation first. Frameworks like Spring can wait. Core Java cannot. What mistakes did you make when learning Java? Let’s discuss 👇 #Java #JavaDeveloper #Programming #SoftwareDevelopment #Coding #OOP #CleanCode #Git #JUnit #TechCareers #DeveloperJourney #LearnToCode #ComputerScience
To view or add a comment, sign in
-
-
🚀 Day 11 – Mastering Methods, Return Statements & Logical Problem Solving in Java Today’s focus was on writing cleaner, reusable, and structured Java code using methods, arguments, and return statements. Instead of solving problems in a single block inside main(), I concentrated on breaking logic into well-defined methods — making the code more modular and closer to real-world application design. 🧩 What I Worked On: Solved multiple logical challenges with different difficulty levels, including: • Multiplication Table Generator • Sum of Odd Numbers from 1 to N • Factorial Calculator using Functions • Sum of Digits of an Integer • Additional number-based logical problems Each solution was implemented using proper method creation and structured flow control. 🛠 Concepts Applied: ✔ Method Creation & Reusability ✔ Return Statements for Result Handling ✔ Parameter Passing (Arguments) ✔ Looping Constructs (for / while) ✔ Conditional Logic (if-else) ✔ Clean Code Organization ✔ Console-Based Program Execution 🔎 Key Learning Outcomes: • Understood how to design reusable methods instead of writing repetitive code • Improved logical thinking by solving multi-step problems • Learned proper separation of concerns inside small applications • Strengthened foundation in function-based programming • Practiced writing readable and maintainable code This day helped me move from just “writing code” to structuring code properly. Building strong Core Java fundamentals step by step before advancing into Collections Framework, Exception Handling, and Backend Development 🚀 #100DaysOfCode #Java #CoreJava #ProblemSolving #JavaDeveloper #SoftwareDevelopment #BackendDevelopment #CodingJourney
To view or add a comment, sign in
-
-
🚀 Day 3 of My 90 Days Java Full Stack Challenge Today I practiced core OOP concepts in Java through hands-on design problems instead of just theory. Here’s what I worked on: 🔹 Encapsulation + Constructors → Built a Bank Account system with validation and controlled data access 🔹 Access Modifiers in Inheritance → Understood how private, protected, and public behave in parent-child classes 🔹 Constructor Chaining → Learned how super() and this() control object initialization order 🔹 Runtime Polymorphism → Used method overriding with parent references and child objects 🔹 Composition vs Inheritance → Modeled real-world HAS-A relationships instead of misusing inheritance 🔹 Abstraction → Created a Shape system using abstract classes and method overriding Big realization: OOP is not about memorizing definitions — it’s about designing classes the way real-world systems behave. Slowly turning theory into practical design thinking 💻 #90DaysChallenge #Java #OOPS #LearningInPublic #DeveloperJourney #FullStackDeveloper
To view or add a comment, sign in
-
🚀 Day 16 – Java Full Stack Journey | Methods (All 4 Types) & Memory Execution Deep Dive Today was about mastering one of the most powerful concepts in Java: 👉 Methods 👉 Parameters vs Arguments 👉 Stack & Heap execution flow Not just writing methods — but understanding how they execute inside memory. 🔹 The 4 Types of Methods in Java 1️⃣ No Input – No Output public void greet() { System.out.println("Hello World"); } 2️⃣ No Input – With Output public int add() { return 50 + 40; } 3️⃣ With Input – No Output public void add(int a, int b) { int c = a + b; System.out.println(c); } 4️⃣ With Input – With Output public int add(int a, int b) { return a + b; } This is the most commonly used type in real-world applications. 🔹 Important Terminologies ✔ Parameters → Variables declared in method signature ✔ Arguments → Values passed during method call Example: add(50, 40); int a, int b → Parameters 50, 40 → Arguments 🔹 What Happens in Memory? When a method is called: 1️⃣ A Stack Frame is created 2️⃣ Local variables are stored inside the stack 3️⃣ Objects are created inside the Heap 4️⃣ After execution → Stack frame is removed 5️⃣ Objects without references → Become Garbage 6️⃣ Garbage Collector cleans them automatically This follows LIFO (Last In, First Out) principle. Understanding this makes debugging and interviews much easier. 🔹 Real Power of Methods Instead of rewriting logic multiple times: printSquare(n); printSquare(n2); printSquare(n3); You write the logic once, reuse it multiple times. ✔ Code Reusability ✔ Clean Structure ✔ Reduced Code Duplication ✔ Better Maintainability 💡 Biggest Learning Today Java is not about memorizing syntax. It’s about: Understanding execution flow Knowing how memory behaves Writing reusable, structured logic These fundamentals build the foundation for: OOPS → Exception Handling → Collections → Multithreading → Real Projects Strong basics = Strong developer. Day 16 Complete ✔ #Day16 #Java #CoreJava #Methods #StackAndHeap #JVM #GarbageCollection #OOPS #FullStackJourney #LearningInPublic TAP Academy
To view or add a comment, sign in
-
-
"Beginner mindset: Learn Java + React + SQL + Spring Boot + Everything 😵💫 Smart mindset: 👉 Learn one thing → Build → Repeat 🔁 Example: ❌ Watching 50 tutorials ✔️ Building 2 small projects 👉 Real growth comes from: - Writing code - Making mistakes - Fixing Not for endless tutorials #Learning #coding practice #CodingJourney
To view or add a comment, sign in
-
-
Day 15 of My Java Full-Stack Journey! Today I learned about Method Overloading — the magic of one name, many actions. 💻✨ 💡 In simple terms: You can have multiple methods with the same name in a class, but with different parameters. Java decides which one to call. 📌 Why it’s cool: Happens at compile-time → also called compile-time polymorphism Makes code flexible & readable Solves ambiguity automatically 🛠 Example: class Calculator { int add(int a, int b) { return a + b; } double add(double a, double b) { return a + b; } int add(int a, int b, int c) { return a + b + c; } } Think of it like a calculator that knows exactly how to add integers, doubles, or even three numbers—all with the same add() button! 🧮✨ 🔥 Fun fact: You can even overload main()… but JVM always starts with the standard one. Method Overloading = one name, endless possibilities! 🚀 #Java #JavaFullStack #MethodOverloading #CodingJourney #LearnJava #ProgrammingTips #CompileTimePolymorphism #OOP #CodeSmart #SoftwareDevelopment #TechLearning #DeveloperLife #CodingCommunity #100DaysOfCode #CodeBetter #ProgrammingConcepts #TechEducation #JavaTips #CodingFun #TechSkills
To view or add a comment, sign in
-
-
Things no one tells you when you start Java projects 🚀 When I started building Java projects, I thought knowing syntax was enough. Reality hit very differently 😅 Here are a few things no one warned me about: 🔹 Project structure matters A messy package structure = painful debugging later. 🔹 Configuration files can break everything One wrong value in web.xml, application.properties, or DB config → app won’t even start. 🔹 80% time goes in debugging, not coding And most bugs are silly ones (null pointer, wrong mapping, missing dependency). 🔹 Logs are your best friend If you’re not reading logs, you’re guessing. 🔹 Real learning starts AFTER tutorials When things don’t work and Google + StackOverflow become daily tools. Still learning, still breaking things, but that’s how real developers are built 💪 Learning Java one bug at a time ☕ #Java #JavaDeveloper #LearningInPublic #BackendDevelopment #StudentDeveloper #CodingJourney
To view or add a comment, sign in
-
-
🚀 Day 17 – Core Java | Classes, Objects & Coding Conventions Today’s session was about strengthening the foundation of Object-Oriented Programming before moving to arrays. We didn’t jump to a new topic. We reinforced what truly matters. 🔑 What We Covered ✔ Classes & Objects – Practical Implementation We created a Car class with: Instance Variables → name, cost, mileage Methods → start(), accelerate(), stop() Then we created multiple objects and traced how memory behaves. 🧠 Memory Understanding (Very Important) When object is created: Stack → Holds reference variables Heap → Stores actual object Each object has separate memory Two objects of same class: Have same blueprint But different memory locations No shared data unless explicitly referenced This clarity prevents confusion between: Object creation Reference variables Pass by value Pass by reference ✔ Method Execution Flow When calling: c.start(); Stack frame of main exists New stack frame of start() is pushed Executes Pops after completion Understanding stack frames = Understanding Java execution. ✔ Static vs Non-Static Clarification We saw why: main() is static Non-static methods cannot be directly accessed inside static context Object creation is required This confusion is common in interviews. Now it’s clear. ✔ Coding Conventions (Professional Practice) We learned industry-level naming standards: 🔹 Class Name → PascalCase Example: CarDetails 🔹 Method & Variable Name → camelCase Example: calculateTotal() These conventions don’t affect compilation — But they define professionalism. ✔ Built-in vs User-Defined User-defined: Your own classes Your own methods Built-in: Scanner String Exception Thread StringBuilder (and thousands more) We also learned: Ctrl + Shift + O → Auto import in Eclipse 💡 Biggest Takeaway 70% of Java foundation is already built: Data types Variables Methods Classes Objects Execution flow Everything upcoming (Arrays, Strings, OOP concepts, Advanced Java) depends on this base. If stack & heap are clear → Java becomes easy. If not → Every future topic feels difficult. Strong foundation today = Strong developer tomorrow. #Day17 #CoreJava #ObjectOrientedProgramming #JavaExecution #StackAndHeap #CodingStandards #JavaDeveloper #LearningJourney
To view or add a comment, sign in
-
Hey Connections 👋 After a long time, I’m back with something valuable for the developer community ❤️ I’ve published a detailed article on: 𝐂𝐨𝐫𝐞 𝐉𝐚𝐯𝐚 𝐈𝐧𝐭𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐨𝐧 𝐚𝐧𝐝 𝐎𝐎𝐏𝐒 𝐅𝐮𝐧𝐝𝐚𝐦𝐞𝐧𝐭𝐚𝐥𝐬: 𝐓𝐡𝐞 𝐂𝐨𝐦𝐩𝐥𝐞𝐭𝐞 𝐆𝐮𝐢𝐝𝐞 𝐭𝐨 𝐂𝐥𝐚𝐬𝐬𝐞𝐬, 𝐎𝐛𝐣𝐞𝐜𝐭𝐬, 𝐚𝐧𝐝 𝐄𝐬𝐬𝐞𝐧𝐭𝐢𝐚𝐥 𝐂𝐨𝐧𝐜𝐞𝐩𝐭𝐬 This guide is designed to build a strong foundation in Core Java, covering both conceptual clarity and practical understanding. 🔎 In this article, I’ve explained: - Platform Independence & JVM (Write Once, Run Anywhere) - Classes vs Objects with clear analogies - Object characteristics: State, Behavior, Identity - Constructors and the final keyword - Garbage Collection & Daemon Threads - Packages and code organization best practices - Deep understanding of the static keyword - Thread-safe Singleton Design Pattern - Common in-built methods used in real-world development If you're starting your Java journey or revisiting the fundamentals to strengthen your core, this article will help you think beyond syntax and understand how Java actually works under the hood ❤️ 📖 𝐑𝐞𝐚𝐝 𝐡𝐞𝐫𝐞: https://lnkd.in/ga_5C5xt This is just the beginning of my Core Java Series — some advanced and practical topics are coming next 🚀 For frequent updates on Java, backend development, and other developer-focused content, feel free to follow and stay connected ❤️ Let’s keep learning and building. 💻 #Java #CoreJava #OOPS #ObjectOrientedProgramming #JVM #SoftwareDevelopment #BackendDevelopment #Programming #JavaDeveloper #Coding #TechCommunity #Developers #LearningJourney #ComputerScience #CleanCode
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development