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) |