Day 37 of Learning Java Today I learned something interesting Illegal Forward Reference in Java. At first, it sounded complicated, but once I understood it, it actually made a lot of sense! Here’s what I learned: 🔹 What is Illegal Forward Reference? • It happens when you try to use a variable before it is declared. • Java doesn’t allow referencing a variable that comes later in the code. 🔹 Why does it happen? • Java reads code from top to bottom. • If a variable is used before it exists, the compiler throws an error. 🔹 Example of the issue: • Using a variable before declaring & defining it to a compile-time error. 🔹 How to fix it? • Always declare variables before using them. • we have to call static variable using ClassName.VarName. Thanks to my mentor Ashim Prem Mahto for the clear explanations and for always clearing my doubts. #Java #LearningJava #CodingJourney #Programming #DeveloperLife #CodeNewbie #JavaDeveloper #TechLearning #StudentLife #jvm
Understanding Illegal Forward Reference in Java
More Relevant Posts
-
Day 39 of learning java Today I learned something very important in Java, Object Creation. Syntax: "className objectName = new constructor();" Here’s what I understood: • The left side ("className objectName") is just declaring a reference variable. • The right side ("new constructor()") is where the actual object is created. • Memory is allocated only when we use the "new" keyword. • The constructor gets executed automatically when the object is created. • Without "new", no memory is allocated and no constructor runs. In short: Declaration != Object creation You need "new" to actually create and use the object. This concept made things much clear about how Java handles memory and execution internally. Thanks to my mentor Ashim Prem Mahto for the clear explanations and for always clearing my doubts. #Java #LearningJourney #Programming #JavaBasics #CodingLife #DeveloperJourney #TechLearning #Beginners #CodeNewbie #jvm #SoftwareEngineer #StudentLife
To view or add a comment, sign in
-
-
Exploring one of the most powerful concepts in Java — Polymorphism, and I achieved it using Inheritance with a simple Plane program. In Java, polymorphism allows a single object to take multiple forms. Using inheritance and method overriding, I implemented a Plane example where different types of planes (like Cargo Plane and Passenger Plane) show different behaviors even though they share a common parent class. It was really interesting to see how a parent class reference can call different implementations at runtime — making the program dynamic and flexible. A big thank you to TAP Academy for teaching this concept so clearly and effortlessly. The real-time examples, like the Plane program, made it much easier to understand how inheritance and polymorphism work together. Excited to apply these concepts in real-world projects and keep growing 🚀 #Java #OOP #Polymorphism #Inheritance #CodingJourney #Learning #SoftwareDevelopment #TAPAcademy
To view or add a comment, sign in
-
📘 Day 41 of My Learning Journey Today, I explored two important methods from the java.lang package: getClass() and toString(). 🔹 getClass() Method This method is used to get the runtime class of an object. It helps in understanding the exact class an object belongs to during execution. 🔹 toString() Method This method converts an object into a readable string format. By default, it returns the class name along with the hashcode, but it can be overridden to display meaningful information. 💡 Learning these methods helped me understand how Java represents objects internally and how we can customize their output for better readability. Step by step, improving my understanding of core Java concepts! 🚀 #Java #LearningJourney #Day41 #OOP #Programming #TechSkills
To view or add a comment, sign in
-
-
📅 Day 45 of My Learning Journey Today, I explored two important concepts in Java: String Class and StringBuffer. 🔹 String Class Strings are immutable, meaning once an object is created, it cannot be changed. Any modification results in the creation of a new object. Widely used for safe and secure data handling. 🔹 StringBuffer StringBuffer is mutable, meaning it allows changes without creating new objects. It is thread-safe (synchronized), making it suitable for multi-threaded environments. Provides methods like append(), insert(), and reverse() for efficient string manipulation. 💡 Key Takeaway: Use String when data should remain constant, and StringBuffer when frequent modifications are required, especially in multi-threaded applications. 📌 Understanding the difference between immutability and mutability helps in writing optimized and efficient Java programs! #Day45 #Java #StringClass #StringBuffer #Programming #LearningJourney #TechSkills
To view or add a comment, sign in
-
-
📘 Day 43 of My Learning Journey Today, I learned about the equals() method from the java.lang package in Java. 🔹 The equals() method is used to compare two objects for equality. 🔹 By default, it checks whether both objects refer to the same memory location. 💡 But the real power comes when we override equals() to compare object values instead of references. 👉 Example: Two objects with the same data (like two students with the same ID) can be treated as equal using equals(). 🔸 This concept is very important when working with collections like lists, sets, and maps. 🚀 Understanding equals() helps in writing accurate comparisons and avoiding logical errors in Java programs. Step by step, improving my Java skills and writing better code! 💻 #Java #LearningJourney #Day43 #OOP #Programming #TechSkills
To view or add a comment, sign in
-
-
Day 38 of Learning Java Today, I explored how a class executes inside the JVM (Java Virtual Machine). Understanding this lifecycle really helped me see what happens behind the scenes when we run a Java program. 🔹 Class Loading • The JVM loads the class into memory • It brings the ".class" file into the system 🔹 Linking Phase • Verification → Checks bytecode for errors • Preparation → Allocates memory for static variables (default values like 0) • Resolution → Replaces symbolic references with actual memory references 🔹 Initialization • Static variables get their actual assigned values • Static blocks are executed 🔹 Execution • Methods start running and the program logic is executed 🔹 Destruction • Objects are destroyed and memory is cleaned up by the Garbage Collector Static variables first get default values during preparation, and later their actual values during initialization. Thanks to my mentor Ashim Prem Mahto for the clear explanations and for always clearing my doubts. #Java #JVM #LearningJourney #Programming #SoftwareDevelopment #BackendDevelopment #CodingLife #JavaDeveloper #TechLearning #StudentLife
To view or add a comment, sign in
-
-
🚀 Day 48 of My Java Learning Journey Today, I explored one of the most important concepts in Java – Collection Framework 💡 📌 What I Learned: Collection Framework is a set of classes and interfaces used to store and manipulate data efficiently It was introduced in JDK 1.2 by Josh Bloch Acts as an alternative to Data Structures in Java 📊 Key Components: Interfaces → List, Set, Queue, Map Classes → ArrayList, LinkedList, HashSet, HashMap 🔥 Why Collections? ✔ Dynamic size (no fixed length like arrays) ✔ Inbuilt methods (add, remove, etc.) ✔ Efficient data handling ✔ Reduces coding effort 💻 Key Features: Allows heterogeneous data Maintains insertion order (List) Allows duplicates (List) Improves performance in real-world applications 📈 Takeaway: Collection Framework is a must-know concept for interviews and real-time development. Almost every Java application uses it! #Day48 #Java #CollectionsFramework #JavaDeveloper #LearningJourney #Coding #Programming
To view or add a comment, sign in
-
-
🚀 Day 44 of My Learning Journey Today I explored some important concepts in Java related to memory management and threading. Here’s what I learned: 🔹 Finalize Method Used before an object is garbage collected. Helps in performing cleanup activities like closing resources. However, it's not reliable and is now considered outdated in modern Java practices. 🔹 Mark and Sweep Algorithm A key technique used in Garbage Collection. Mark Phase: Identifies objects that are still in use. Sweep Phase: Removes unused objects from memory. Improves memory efficiency and prevents memory leaks. 🔹 Garbage Collector Automatically manages memory by removing unused objects. Helps developers focus more on logic rather than memory handling. Works in the background for better performance. 🔹 Daemon Thread A low-priority thread that runs in the background. Supports main threads (e.g., garbage collection). Automatically stops when all user threads finish execution. 💡 Key Takeaway: Understanding how memory is managed and how background threads work is crucial for writing efficient and optimized Java programs. #Java #GarbageCollection #Multithreading #LearningJourney #Programming #Developer
To view or add a comment, sign in
-
-
🚀 Day 73/100 of My Java Programming Series ☕💻 Today, I learned and practiced Method Overloading in Java — an important concept of compile-time polymorphism. 📌 What I explored today: ✅ What is Method Overloading ✅ Same method name with different parameters ✅ Changing number of arguments ✅ Changing data types of arguments ✅ Improving code readability and reusability ✅ Real-time examples for better understanding 💡 Key takeaway:Method Overloading allows us to define multiple methods with the same name but with different parameter lists. It helps make programs more flexible, organized, and easier to understand. 🧠 This concept is very useful in writing cleaner code and understanding how Java supports polymorphism. 🔥 Day 73 completed. Still learning, still growing! #Java #JavaProgramming #OOP #MethodOverloading #Polymorphism #100DaysOfCode #CodingJourney #Programming #SoftwareDevelopment #JavaDeveloper #LearningJourney10000 Coders Meghana M
To view or add a comment, sign in
-
☕ Learn Java with Me — Day 9 Text is everywhere in programming. Today we learned something simple, but extremely powerful. 👉 Strings in Java Strings are used to store text values. For example:String name = "Java"; Simple. But this is where real applications begin. With Strings, we can:→ store names → messages → email IDs → user inputs → passwords We also explored some useful methods:→ length() → toUpperCase() → toLowerCase() → equals() This made Java feel much more practical. Because every real-world application works with text. From numbers → real user interaction 🚀 We’re learning together 🤝 #java #coding #strings #learning #showup
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