If Interface Can Be Default Then Why Not Protected?
Mar 9, 2014
I was just wondering.. my understanding from everywhere I have read is interface cannot be private or protected (not at the top level) but when we declare an interface without any modifier it is default.
We know default modifier has more restricted access than protected.. public > protected > default > private
Now since an interface can be public and default then why not protected as clearly if they were allowed to be protected they could be implemented by a subclass..?
While typing this question I figured how would an interface know which is it's subclass? that is why Java allows only public i.e. any class can implement it or default i.e. any class within the package can implement.. am I right?
Why is it that a protected method cannot be accessed polymorphically outside its package. I suspect the reason is that some compile-time checks have to be performed. Is this correct?
I don't know why class Object have two PROTECTED method -- clone() and finalize(). And in JUnit's source code, I notice that kent write :public class AClass extends Object {}I really don't understand what diffrient frompublic class AClass {}
how access levels work from subclasses and other packages, and I have discovered that a class cannot see it's own protected variable from another package which I thought it would be. I know that it says in the java docs "The protected modifier specifies that the member can only be accessed within its own package (as with package-private) and, in addition, by a subclass of its class in another package." but I thought that would also include it's own class.
Java Code:
package food; import food.fruit.*; public class Food { protected int protecte = 5; private int privat = 5; protected void method(){
Jun 16, 2014 6:21:33 PM practice.TestFTPProgram main SEVERE: null java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
With Apache POI it is possible to password protect an excel file. PFB for the code. But it is working with XLSX extension [2010 Excel format], But not with XLS [2003 Excel format].how to accomplish the same
How to read Password protected Excel file using java. Actually i read normal excel file(without password protection) successfully, using some standard codings with support POI jars. But i am unable to read password protected xls file.
I found the following inheritance and encapsulation issue . Suppose you have a parent class with a non-static protected attribute.
package package1; public class Parent{ protected int a = 10; // this is the non-static protected attribute in question public static void main(String args[]){ // whatever logic }// end Parent class }// end main()
Now suppose you have a child class in another package and you have imported in the parent class.
package package2; import package1.Parent; public class Child extends Parent{ public static void main(String[] args){ Parent p = new Parent(); Child c = new Child();
System.out.println(p.a); //should print out 10 BUT DOES NOT System.out.println(c.a); //should print out 10 }// end main() }// end Child class
My observation is that p.a produces an error even though, to the best of my knowledge, it should not. I believe the statement "System.out.println(p.a);" should print out a 10.
Am I misunderstanding something about inheritance and encapsulation?
I am trying to declare fields as protected String custom.field.1096; in my java class but it does not allow me. Can I not declare the field as above? Is there any workaround to achieve this?
I have a problem with several java applications. When I start them Java wants to connect to the certificate authority, to check if the certificate is still valid and not on a blacklist.
The problem is: my whole internet is behind a password protected proxy. If I open my browser i get a windows with username and password. I enter it and internet in the browser works. But for Java it isn't working, because I see no point, where I can enter the password and username for the proxy. I can enter the proxy ip and port in the java settings, but not the password and username. So I get a error screen from java, telling me, that java could not connect. I can disable the check in the java settings, but I don't wont that.
Is there a way to tell java, that java uses my proxy with my password and username? I already googled this problem and found nothing except tutorials for connecting with proxy in the java code. But these applications are not from me, I can't change the code ...
The LocalStudent class inherits the Student class. The IDE states an error of "no default constructor in Student class".I understand that if a LocalStudent object is created, the default constructor of its superclass (aka Student class) will be called implicitly.there is no LocalStudent object being created, so why is the default constructor of Student being called ?
The default constructor of LocalStudent is also overloaded by the created no-arg constructor containining subjects = null; . So there is no call to the superclass default constructor from the default constructor of LocalStudent.
public class Student { private char year1; public Student(String name, char year){ year1 = year; } public char getYear(){ return year1;
Will I'm tying in my code to set a default number for the JTextField that when the user decide not to put any numbers. Like let say that I want the textfield set to 0 , so then the user do not file it it won't make any problem to the program because its already has a default number.
Note: This is a small part of my code. when I leave it empty it take the 0 as a value, However, when I write in text field it also take the value of a 0 and the finalTotal is also = to 0.what I'm doing wrong.
class Course { String courseName; } class Entry { public static void main(String[] args) { Course c = new Course(); c.courseName="java"; System.out.println(c.courseName); } }
I have defined these two classes under same java project in Eclipse IDE with no package. Above two class are having default classes. class Course is also having a instance variable courseName with default access. So when we try to compile the Entry class it will give the errors while accessing the instance variable courseName on Line 6 and 7. As both the classes are having default access modifier. class Course is not visible to class Entry, then why we do not get any compilation error while creating the object of class Course on line 5?
public static void main(String... args) { String i; // String i = null; that would compile if (i == null) {// this line does not compile as i was not initialized System.out.print("A"); } else { System.out.print("B"); i = "A"; main("A", "B"); } }
Why does the above code not compile although the statement String i should lead to an initialisation of i to the value of null which is the default value for Strings.
I want to programmatically change the default program which an extension is opened in. So .resantic extensions for example to run in my jar file when I double-click on it. I know i need a bat file or exe file because i can't directly run the jar file. But i was wondering if its possible to run it if its an executable jar file. Else i can just make a bat file that runs my program. Also how can i on double click send the path to the file that was clicked in the args[] array so i can open the actual file aswell instead of just opening the program?
In the following code the print method prints the default value of int(zero) for the first time even when the variable i has been assigned a value of 4. Why?
class A1{ A1() { System.out.println("Inside constructor of A1()"); print(); } void print() { System.out.println("A");
[Code] ....
Output: Inside constructor of A1() 0 Inside constructor of B1() 4
I am facing difficulties in identifying the proper way to add the selected colors of cards into an arraylist. I am having an arraylist which is:
Java Code: private List<String> selectedCars = new ArrayList<String>(); mh_sh_highlight_all('java'); And one more for the carColors:
Java Code: private List<String> carColors = new ArrayList<String>(); mh_sh_highlight_all('java');
The selectedCards array will store the selected cars ['TOYOTA','MAZDA','NISSAN'] as per the selection from the user.For certain types, there is one default color which is 'Black', however for some of them, the user can select different colors.(ex. if selection is 'Toyota') Java Code:
String carColor=""; String toyotaColor=""; // The value will be retrieved from the form once the user selected the color if (selectedCars.contains("MAZDA")) { carColor="Black"; } else if (selectedCars.contains("TOYOTA")) { carColor=toyotaColor;
I am writing a program that accepts input from the user, I want default values displayed before the input values.
Java Code:
public surfboards() { surfboardType = "Type not assigned"; shaperName = "Shaper not assigned"; constructionType = "Construction Type not assigned"; surboardSize = 0D; } mh_sh_highlight_all('java');
I can get the output to display as shown below
(THIS IS WHERE I WANT DEFAULT CONSTRUCTOR DISPLAYED. Currently not displayed)
Type not assigned Shaper not assigned Construction Type not assigned 0 Feet
(THIS IS WHERE I WANT DEFAULT CONSTRUCTOR DISPLAYED. Currently not displayed)
input:
Java Code: Enter Surboard Type: test Enter Shaper Name: test Enter Surfboard Construction Medium: test Enter Surfboard Size: 6.5 mh_sh_highlight_all('java');