- 1Java Exceptions
- 2Java Keywords
- 3Java abstract Keyword
- 4Java assert Keyword
- 5Java boolean Keyword
- 6Java break Keyword
- 7Java byte Keyword
- 8Java case Keyword
- 9Java catch Keyword
- 10Java char Keyword
- 11Java class Keyword
- 12Java const Keyword
- 13Java continue Keyword
- 14Java default Keyword
- 15Java do Keyword
- 16Java double Keyword
- 17Java else Keyword
- 18Java enum Keyword
- 19Java extends Keyword
- 20Java final Keyword
- 21Java finally Keyword
- 22Java float Keyword
- 23Java for Keyword
- 24Java goto Keyword
- 25Java if Keyword
- 26Java implements Keyword
- 27Java import Keyword
- 28Java instanceof Keyword
- 29Java int Keyword
- 30Java interface Keyword
- 31Java long Keyword
- 32Java native Keyword
- 33Java new Keyword
- 34Java null Keyword
- 35Java package Keyword
- 36Java private Keyword
- 37Java protected Keyword
- 38Java public Keyword
- 39Java return Keyword
- 40Java short Keyword
- 41Java static Keyword
- 42Java strictfp Keyword
- 43Java super Keyword
- 44Java switch Keyword
- 45Java synchronized Keyword
- 46Java this Keyword
- 47Java transient Keyword
- 48Java try Keyword
- 49Java void Keyword
- 50Java volatile Keyword
- 51Java while Keyword
- 52Java String Methods - Syntax and Description
- 53Java String
charAt()
method - 54Java String
codePointAt()
method - 55Java String
codePointBefore()
method - 56Java String
codePointCount()
method - 57Java String
compareTo()
method - 58Java String
compareToIgnoreCase()
method - 59Java String
concat()
method - 60Java String
contains()
method - 61Java String
contentEquals()
method - 62Java String
copyValueOf()
method - 63Java String
endsWith()
method - 64Java String
equals()
method - 65Java String
equalsIgnoreCase()
method - 66Java String
format()
method - 67Java String
getBytes()
method - 68Java String
getChars()
method - 69Java String
hashCode()
method - 70Java String
indexOf()
method - 71Java String
intern()
method - 72Java String
isEmpty()
method - 73Java String
join()
method - 74Java String
lastIndexOf()
method - 75Java String
length()
method - 76Java String
matches()
method - 77Java String
offsetByCodePoints()
method - 78Java String
regionMatches()
method - 79Java String
replace()
method - 80Java String
replaceAll()
method - 81Java String
replaceFirst()
method - 82Java String
split()
method - 83Java String
startsWith()
method - 84Java String
subSequence()
method - 85Java String
substring()
method - 86Java String
toCharArray()
method - 87Java String
toLowerCase()
method - 88Java String
toString()
method - 89Java String
toUpperCase()
method - 90Java String
trim()
method - 91Java String
valueOf()
method - 92Java ArrayList Methods - Complete Reference with Syntax and Description
- 93Java LinkedList Methods - Complete Reference with Syntax and Description
- 94Java HashMap Methods - Syntax and Descriptions
Java default Keyword
Usage and Examples
default
Keyword in Java
The default
keyword in Java serves a unique dual purpose. It appears in both switch statements as a fallback clause and in interfaces to define default methods. Understanding how and why to use default
can make your code both more robust and more flexible.
1. default
in Switch Statements
In a switch
statement, the default
clause is executed when none of the specified case
values match the given expression. It works like an “else” block in an if-else ladder.
Example: Using default in switch
public class SwitchDefaultExample {
public static void main(String[] args) {
int day = 5;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
default:
System.out.println("Unknown Day");
}
}
}
Unknown Day
Explanation
Since the value 5
does not match any case
in the switch
block, the default
clause is triggered and prints Unknown Day
.
2. default
Methods in Interfaces
From Java 8 onward, interfaces can include default
methods. These are methods with a concrete implementation inside an interface. They allow developers to add new methods to interfaces without breaking existing code that implements them.
Why default methods?
Prior to Java 8, adding a method to an interface meant every implementing class had to define it. With default
methods, you can provide a fallback implementation and keep old implementations working.
Example: default method in an interface
interface Vehicle {
void start();
default void fuelType() {
System.out.println("Petrol or Diesel");
}
}
class Car implements Vehicle {
public void start() {
System.out.println("Car starts with key");
}
}
public class DefaultMethodExample {
public static void main(String[] args) {
Car myCar = new Car();
myCar.start();
myCar.fuelType();
}
}
Car starts with key
Petrol or Diesel
Explanation
The Car
class implements the Vehicle
interface but does not override the fuelType()
method. The default implementation defined in the interface is used.
Overriding default Methods
Although default methods have implementations, classes that implement the interface can still choose to override them.
Example: Overriding a default method
interface Vehicle {
void start();
default void fuelType() {
System.out.println("Petrol or Diesel");
}
}
class ElectricCar implements Vehicle {
public void start() {
System.out.println("Electric car starts silently");
}
public void fuelType() {
System.out.println("Electricity");
}
}
public class OverrideDefaultExample {
public static void main(String[] args) {
ElectricCar tesla = new ElectricCar();
tesla.start();
tesla.fuelType();
}
}
Electric car starts silently
Electricity
Explanation
The ElectricCar
class overrides the fuelType()
method to provide its own implementation, which replaces the default.
Points to Remember
- The
default
keyword in aswitch
acts as a fallback when nocase
matches. - The
default
keyword in aninterface
provides a base implementation for a method from Java 8 onward. - Default methods help maintain backward compatibility while evolving interfaces.
- Classes can override default methods just like regular interface methods.