java

JAVA

Naming conventions in Java help make code readable, maintainable, and consistent. Here are the standard naming rules:


1️⃣ Class and Interface Names πŸ“¦


2️⃣ Method Names πŸ”§


3️⃣ Variable Names πŸ“Š


4️⃣ Constant Names πŸ” 


5️⃣ Package Names πŸ“‚


6️⃣ File Names πŸ“


7️⃣ Naming Conventions in Java Collections

Type Naming Convention Example
Array Plural form int[] numbers;
List Singular + List List<String> studentList;
Map Key + β€œTo” + Value Map<Integer, String> idToNameMap;

Summary Table πŸ“‹

Element Convention Example
Class PascalCase StudentDetails
Interface PascalCase Runnable
Method camelCase calculateSalary()
Variable camelCase studentName
Constant UPPER_CASE MAX_USERS
Package lowercase com.example.project
File Name Same as public class Main.java

Final Tip πŸ’‘

βœ… Follow these conventions to make your Java code clean and professional.
❌ Avoid single-letter variable names (except for loop counters).
πŸ’‘ Be descriptiveβ€”choose meaningful names!


Languages That Supports OOPS Property

Here’s an expanded table covering 20 OOP properties across C, C++, Java, Python, C#, and JavaScript:

OOP Property C C++ Java Python C# JavaScript
Class & Objects ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes (ES6 Classes)
Encapsulation ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes (Using Closures)
Data Hiding ❌ No βœ… Yes (Private Members) βœ… Yes βœ… Yes (Using _ & __) βœ… Yes βœ… Limited (Private Fields in ES6)
Inheritance ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes (Prototype-based)
Single Inheritance ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes
Multiple Inheritance ❌ No βœ… Yes ❌ No (Only via Interfaces) βœ… Yes ❌ No ❌ No
Multilevel Inheritance ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes
Hybrid Inheritance ❌ No βœ… Yes ❌ No (Using Interfaces) βœ… Yes (Using Mixins) βœ… Yes (Using Interfaces) ❌ No
Polymorphism ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes (Duck Typing)
Method Overloading ❌ No βœ… Yes βœ… Yes ❌ No (Simulated) βœ… Yes ❌ No
Method Overriding ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes
Abstraction ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Partial (No true abstract classes)
Abstract Classes ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes ❌ No
Interfaces ❌ No βœ… Yes βœ… Yes βœ… Yes (Duck Typing) βœ… Yes ❌ No
Constructors ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes
Destructors ❌ No βœ… Yes ❌ No (Uses Garbage Collection) ❌ No (Uses Garbage Collection) βœ… Yes (Finalizers) ❌ No
Operator Overloading ❌ No βœ… Yes ❌ No βœ… Yes βœ… Yes ❌ No
Function Overloading ❌ No βœ… Yes βœ… Yes ❌ No βœ… Yes ❌ No
Static Binding βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes
Dynamic Binding ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes
Multiple Dispatch ❌ No ❌ No ❌ No βœ… Yes ❌ No ❌ No
Exception Handling ❌ No βœ… Yes βœ… Yes βœ… Yes βœ… Yes βœ… Yes (Try-Catch)

Key Takeaways

  1. C lacks OOP features completely.
  2. C++ supports full OOP, including multiple inheritance and operator overloading.
  3. Java is fully OOP but does not support multiple inheritance (replaced by interfaces).
  4. Python supports all OOP features, including multiple inheritance.
  5. C# is fully OOP, but it does not support multiple inheritance (uses interfaces instead).
  6. JavaScript uses prototype-based inheritance, lacks method overloading, and has limited abstraction.