OnJava8-Examples/housekeeping/ExplicitStatic.java

42 lines
885 B
Java
Raw Normal View History

2015-09-07 11:44:36 -06:00
// housekeeping/ExplicitStatic.java
2015-12-15 11:47:04 -08:00
// (c)2016 MindView LLC: see Copyright.txt
2015-11-15 15:51:35 -08:00
// We make no guarantees that this code is fit for any purpose.
// Visit http://mindviewinc.com/Books/OnJava/ for more book information.
2016-01-25 18:05:55 -08:00
// Explicit static initialization with the "static" clause
2015-06-15 17:47:35 -07:00
class Cup {
Cup(int marker) {
2015-11-03 12:00:44 -08:00
System.out.println("Cup(" + marker + ")");
2015-06-15 17:47:35 -07:00
}
void f(int marker) {
2015-11-03 12:00:44 -08:00
System.out.println("f(" + marker + ")");
2015-06-15 17:47:35 -07:00
}
}
class Cups {
static Cup cup1;
static Cup cup2;
static {
cup1 = new Cup(1);
cup2 = new Cup(2);
}
Cups() {
2015-11-03 12:00:44 -08:00
System.out.println("Cups()");
2015-06-15 17:47:35 -07:00
}
}
public class ExplicitStatic {
public static void main(String[] args) {
2015-11-03 12:00:44 -08:00
System.out.println("Inside main()");
2015-06-15 17:47:35 -07:00
Cups.cup1.f(99); // (1)
}
// static Cups cups1 = new Cups(); // (2)
// static Cups cups2 = new Cups(); // (2)
2015-09-07 11:44:36 -06:00
}
/* Output:
2015-06-15 17:47:35 -07:00
Inside main()
Cup(1)
Cup(2)
f(99)
2015-09-07 11:44:36 -06:00
*/