صناعة كائن جديد

بالرغم من أن العمليات البانية تبدو مثل العمليات العادية، إلا أنك لا تستدعيها بشكل مباشر أبداً. بدلاً من ذلك، تستدعي new، ويحجز النظام مساحة للكائن الجديد وبعدها يستدعي الباني.
يوضح البرنامج التالي طريقتين لصنع وتهيئة كائن Time:
كود:
class Time {
   int hour, minute;
   double second;
 
   public Time() {
      this.hour = 0;
      this.minute = 0;
      this.second = 0.0;
   }
 
   public Time(int hour, int minute, double second) {
      this.hour = hour;
      this.minute = minute;
      this.second = second;
   }
 
   public static void main(String[] args) {
      // one way to create and initialize a Time object
      Time t1 = new Time();
      t1.hour = 11;
      t1.minute = 8;
      t1.second = 3.14159;
      System.out.println(t1);
 
      // another way to do the same thing
      Time t2 = new Time(11, 8, 3.14159);
      System.out.println(t2);
   }
}
في main، أول مرة نستدعي new، لا نعطيه أية متحولات، لذا تستدعي Java الباني الأول. تسند الأسطر القليلة التالية قيماً لمتغيرات الحالة.
في المرة الثانية التي نستدعي new فيها، نعطيه متحولات تطابق معاملات الباني الثاني. هذه الطريقة في تهيئة متغيرات الحالة أكثر اختصاراً وأكثر فاعلية بقليل، لكن يمكن لقراءتها أن تكون أصعب، نظراً لعدم وضوح أية قيمة سيتم إسنادها لأي متغير حالة.