
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
64 lines
1014 B
Plaintext
64 lines
1014 B
Plaintext
== Why is this an issue?
|
|
|
|
Classes without ``++public static++`` members cannot be used without being instantiated, but classes with only ``++private++`` constructors cannot be instantiated. When a class has only ``++private++`` constructors and no ``++static++`` members, it is useless and should be removed or refactored.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
public class MyClass { // Noncompliant
|
|
|
|
private MyClass () {
|
|
}
|
|
|
|
public double getPi(){
|
|
return 3.14;
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
public class MyClass {
|
|
|
|
public MyClass () {
|
|
}
|
|
|
|
public double getPi(){
|
|
return 3.14;
|
|
}
|
|
}
|
|
----
|
|
or
|
|
|
|
[source,java]
|
|
----
|
|
public class MyClass {
|
|
|
|
private MyClass () {
|
|
}
|
|
|
|
public static double getPi(){
|
|
return 3.14;
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Either add a public constructor or make the methods of this class "static".
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|