No, we can’t change the value of an interface field because interface fields are final and static by default.
Example
interface FinalTest{ String website = "w3schools.com"; } public class Main implements FinalTest{ void show(){ System.out.println(website); } public static void main(String args[]){ //creating object of Main Class Main obj = new Main(); obj.show(); } } |
Output
w3schools.com |
We will get compile time error, if we try to change the interface field value.
Example
interface FinalTest{ String website = "w3schools.com"; } public class Main implements FinalTest{ void show(){ website = "java.com"; System.out.println(website); } public static void main(String args[]){ //creating object of Main Class Main obj = new Main(); obj.show(); } } |
Output
Main.java:6: error: cannot assign a value to final variable website website = "java.com"; ^ 1 error |
Java interview questions on final keyword
- what is final in java?
- What is final variable in java?
- What is final method in java?
- What is final class in java?
- What is blank final variable in java?
- What is static blank final variable in java?
- What is final parameter in java?
- Can we initialize blank final variable in java?
- Can we declare the main method as final?
- What is the use of final keyword in java?
- Can we change the state of an object to which a final reference variable is pointing?
- Difference between abstract method and final method in java?
- Can we change the value of an interface field?
- Can we declare constructor as final in java?