I'm reading SCJP by Kathy Sierra and Bert Bates and it says on pg. 21 that "The public modifier is required if you want the interface to have public rather than default access". Is this true? If yes, then the interface methods (which are always public) only accessible if the interface is in the same package of the implementing class...? Since that is the meaning of the default access modifier...I'm a bit confused on this.
Is it true that if you don't specify an access modifier for an interface, that interface will have default access
6.2k views Asked by user1142130 At
2
There are 2 answers
0
AudioBubble
On
Here the interface itself is package protected but the methods are always public by default
interface Foo
{
void bar(); // this is always public and nothing else
}
Here the interface is public as well as the methods
public interface Foo
{
void bar(); // this is always public and nothing else
}
you can declare public void bar(); or void bar(); they mean the same thing, personally, I always put the public because explicit is always better than implicit
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in INTERFACE
- How do I apply the interface concept with the base-class in design?
- Save Interface in DB golang
- Collections.max with custom Comparator on list
- Linux Networking - Routing packets from one network interface to another
- How to design the file operation interface involving status and transactions?
- Angular component's interface ( @Output / @Input ) how do you expose methods? Or certain type of events?
- Own Pattern / framework for interfacing with components in C
- Does anyone know how to make iPad layout the same as iPhone's? Size wise the text and overall layout get's smaller when I run the app on the iPad
- Use Interface Type in Map or Struct Definition, but Implement with Concrete utype
- How does variance work when implementing interfaces/type aliases in TypeScript?
- Fatal error: Uncaught TypeError when returning class instead of interface
- Golang Use of array of structs that implement MyInterface as []MyInterface not allowed
- Calling c++ from fortran
- Interface and model in TypeScript (angular 17)
- Interface called Delegate call failed
Related Questions in METHODS
- Why does print(list.sort()) result in None?
- method doesn't fill the array with correct values - instead it leaves it at null
- How do I create a method in a class to delete the class instance?
- How can I ensure incremental changes in deciphered messages in Python substitution cipher decoding?
- Using a list of tuple and a relative item of a Tuple as an argument of a method
- How to create a list of a three sentence docstring with each element in the list being one sentence with its punctuation mark in Python?
- My search function is only matching exact strings
- How do I pass a generic function as an argument to another function in golang?
- In C#, How can an interface (such as ILogger), with 1 method signature for log(), show 5 on intellisense?
- What methods inherited from the Object class should usually be overridden?
- Method definition and objects in Java
- Argument list is changing whenever I execute a change to a separate list with removerange
- Why does my Javascript method return NaN when two number types are calculated?
- Method declaration being treated as a parameter
- How can the Toy object I get from a Child object not be the same as passed in through the constructor?
Related Questions in ABSTRACT
- How can I get an object of a given type to be returned from HttpClient.get when requesting an abstract object?
- What is difference Between abstract and interface in java
- MapStruct maps the model's field as empty when the field is of an abstract type
- How to not inherit all variables and methods of an abstract class but only some, in C#?
- How do I specify an abstract syntax of different language constructs in an already existing language?
- In C#, if all interface members are public and abstract by default, why can't we use override in implementing class?
- java se 8 rules for implementing abstract methods from extended interfaces
- How to keep external references to abstract generic class abstract and generic?
- java.lang.IllegalArgumentException: None of [] allows for delegation from cle.application.page.applicationui.BasePage.isDisplayed()
- Instantiate class from a collection of subclasses, while maintaining access to static members in Typescript
- Utility type to convert an abstract class to a non-abstract subclass?
- Typescript abstract child inheritance typing problematic
- DART equivalent of multiple inheritance of pure virtual interfaces
- Forbid extending class from implementing a constructor
- Using abstract method in non-abstract class
Related Questions in SCJP
- Which declarations are valid?
- Unexpected NullPointerException while autoboxing / unboxing java Long type as return value
- Confusion with StringBuilder in java
- Java generic type parameter not within its bound
- what is the difference between user defined package and system defined java package with respect to accessing static content
- Prority based threads?
- PrintWriter and PrintStream methods?
- SCJP - override method with exception handling raises a compiler error
- Java SCJP/OCPJP
- Unexpected overloaded method compiler selection with null parameter
- Getting the output with two threads executing
- Overriding equals() method in Java (OCJP)
- On non-existent merge() method mentioned in an OCPJP 8 exam topic in Stream - IZ0-809 exam
- OCJP Dumps Thread
- OCJP Dumps Thread Synchronized Method
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Yes that is true. Java types/fields/methods (in class) have package-level access if access modifier is not specified. Members defined in inteface type are public by-default.
Read tutorial - Controlling Access to Members of a Class.