Naming conventions in Java help make code readable, maintainable, and consistent. Here are the standard naming rules:
class Animal {}
class StudentDetails {}
interface Playable {}
interface DataProcessor {}
void calculateSalary() {}
void getStudentName() {}
boolean isAvailable() {}
int age;
String studentName;
double accountBalance;
i, j, k).*)final double PI = 3.14159;
final int MAX_USERS = 100;
final String DATABASE_URL = "jdbc:mysql://localhost";
package com.example.project;
package org.companyname.module;
package myapp.utilities;
public class Main {} // File should be saved as Main.java
public class StudentDetails {} // File: StudentDetails.java
| Type | Naming Convention | Example |
|---|---|---|
| Array | Plural form | int[] numbers; |
| List | Singular + List | List<String> studentList; |
| Map | Key + βToβ + Value | Map<Integer, String> idToNameMap; |
| 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 |
β
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!
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) |