Timeline for Is "static interface" a good practice?
Current License: CC BY-SA 3.0
22 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Jan 22, 2017 at 12:31 | comment | added | Vlasec | A class would have you write public static final in front of every constant. Whereas in an interface, all these modifiers are implicit. | |
| Jan 21, 2017 at 8:07 | comment | added | Jimmy T. | What exactly is the benefit of not using a class instead? | |
| Jan 16, 2017 at 0:20 | history | bumped | CommunityBot | This question has answers that may be good or bad; the system has marked it active so that they can be reviewed. | |
| Jan 7, 2017 at 22:40 | comment | added | Stijn de Witt | And please if you are going to post a link to a different question, add why we should click it, because questions/233053/… just isn't very descriptive. | |
| Dec 24, 2016 at 5:23 | history | tweeted | twitter.com/StackSoftEng/status/812529009762463744 | ||
| Dec 17, 2016 at 0:49 | comment | added | Vlasec | @OhadR Been there even before Aliester told me of that question. It doesn't really cover the topic of an interface that is not really meant to have implementations (same as some classes like Void or utilities aren't intended to have instances). | |
| Dec 16, 2016 at 18:59 | answer | added | ngreen | timeline score: 0 | |
| Dec 16, 2016 at 18:56 | answer | added | JimmyJames | timeline score: 0 | |
| Dec 16, 2016 at 16:13 | comment | added | OhadR | softwareengineering.stackexchange.com/questions/233053/… | |
| Dec 16, 2016 at 15:29 | answer | added | Vlasec | timeline score: 1 | |
| Dec 16, 2016 at 15:26 | history | edited | Robert Harvey | CC BY-SA 3.0 | deleted 8 characters in body |
| Dec 16, 2016 at 14:03 | history | edited | Vlasec | CC BY-SA 3.0 | added 208 characters in body |
| Dec 16, 2016 at 13:25 | history | edited | Vlasec | CC BY-SA 3.0 | Renamed - good news to good practice. |
| Dec 16, 2016 at 11:23 | comment | added | Vlasec | Aliester, you are talking about default methods. I am talking about static methods and fields. Those aren't inherited, so they don't break the multiple inheritance. | |
| Dec 16, 2016 at 11:13 | comment | added | Adrian | it could also confuse new developers who are trying to get a proper handle on fundamental OOP concepts such as Interfaces, AbstractClases, when to use composition instead of inheritance, ...etc. | |
| Dec 16, 2016 at 11:11 | comment | added | Adrian | I have to go for now but I will write something up tomorrow on it. The short of it is that before an Interface had a clear purpose which was clearly separated from the purpose of an AbstractClass. Now they overlap heavily in a way that violates the language agnostic defintion of an Interface. Additionally there are cases where you can't inherit from multiple interfaces anymore if they implement default methods. So now there are exceptions to multiple interface inheritance where there didn't used to be any. Since Java has deviated drastically from the common defintion of an interface... | |
| Dec 16, 2016 at 10:51 | history | edited | Vlasec | CC BY-SA 3.0 | The question in the last paragraph changed to be less opinion based. |
| Dec 16, 2016 at 10:11 | answer | added | Markus Pscheidt | timeline score: 1 | |
| Dec 16, 2016 at 2:35 | review | Close votes | |||
| Dec 24, 2016 at 3:01 | |||||
| Dec 16, 2016 at 2:24 | comment | added | Adrian | My knee jerk reaction to this is that it can only lead to bad things. Even though public static methods are essentially just namespaced global functions. It feels like allowing any implementation code in an Interface goes against its purpose as a contract definition absent implementation. I say leave partial implementation to Abstract classes. I will need to read up on why this was added. | |
| Dec 16, 2016 at 2:24 | answer | added | DepressedDaniel | timeline score: -1 | |
| Dec 16, 2016 at 2:00 | history | asked | Vlasec | CC BY-SA 3.0 |