4. Primitive Data Types
● byte (8-bit signed integer between -128 and 127)
● short (16-bit signed integer between -32,768 and 32,767)
● int (32-bit signed integer between -2,147,483,648 and 2,147,483,647)
● long (64-bit signed integer between -9,223,372,036,854,775,808 and
9,223,372,036,854,775,807)
● float (32-bit floating point number)
● double (64-bit floating point number)
● boolean (true and false)
● char (single 16-bit Unicode character)
29. java.lang.Object
○ public String toString();
○ public boolean equals(Object obj);
○ public native int hashCode();
○ protected native Object clone() throws CloneNotSupportedException;
○ protected void finalize() throws Throwable;
○ public final native Class<?> getClass();
○ public final native void notify();
○ public final native void notifyAll();
○ public final native void wait(long timeout) throws InterruptedException;
○ public final void wait(long timeout, int nanos) throws InterruptedException;
○ public final void wait() throws InterruptedException;
30. equals()
● Рефлексивность: x.equals(x) -> true при x не null;
● Симметричность: x.equals(y) <- -> y.equals(x) при x,y не null;
● Транзитивность: x.equals(y), y.equals(z) -> x.equals(z) при x,y,z не null;
● Непротиворечивость (consistency) «одинаковых» вызовов;
● x.equals(null) – всегда false (при x не null).
31. hashCode()
● Метод hashCode() надо переопределять в каждом классе,
переопределяющем метод equals().
● Контракт метода hashCode():
■ Непротиворечивость (consistency), «осмысленно»
возвращает то же число;
■ Равные по equals() объекты дают равные значения
hashCode();
32. Nested Classes
class OuterClass {
...
static class StaticNestedClass {
...
}
}
MyOuterClass.MyStaticNestedClass myObject = new
MyOuterClass.MyStaticNestedClass();
33. Inner classes
class OuterClass {
...
static class StaticNestedClass {
...
}
class InnerClass {
...
}
}
OuterClass.InnerClass innerObject = outerObject.new
InnerClass();