新运算符通过为新对象分配内存并返回对该内存的引用来实例化类。新的操作符也调用类的构造函数。
// Class Declaration
public class Dog
{
    // Instance Variables
    String name;
    String breed;
    int age;
    String color;
    // Constructor Declaration of Class
    public Dog(String name, String breed,
                   int age, String color)
    {
        this.name = name;
        this.breed = breed;
        this.age = age;
        this.color = color;
    }
    // method 1
    public String getName()
    {
        return name;
    }
    // method 2
    public String getBreed()
    {
        return breed;
    }
    // method 3
    public int getAge()
    {
        return age;
    }
    // method 4
    public String getColor()
    {
        return color;
    }
    @Override
    public String toString()
    {
        return("Hi my name is "+ this.getName()+
               ".\nMy breed,age and color are " +
               this.getBreed()+"," + this.getAge()+
               ","+ this.getColor());
    }
    public static void main(String[] args)
    {
        Dog tuffy = new Dog("tuffy","papillon", 5, "white");
        System.out.println(tuffy.toString());
    }
}
 输出:
Hi my name is tuffy. My breed,age and color are papillon,5,white
Dog tuffy = new Dog("tuffy","papillon",5, "white"); 注意:所有类都至少有一个构造函数。如果一个类没有显式声明任何东西,Java编译器会自动提供一个无参的构造函数,也称为默认构造函数。这个默认构造函数调用父类的无参数构造函数(因为它只包含一个语句,即super();),或者如果该类没有其他父类,则为Object类构造函数(因为Object类是所有类的父类,直接或间接)。