I was reading the following code listView.setOnItemClickListener(new OnItemClickListener() {  @Override  public void onItemClick(AdapterView<?> parent, View view,    int position, long id) {    Toast.makeText(getApplicationContext(),      Click ListItem Number  + position, Toast.LENGTH_LONG)      .show();  }}); I am not getting what type of structure we have passed as the argument to the function setOnItemClickListener and how such type of structure works ? If it is a class then why we are using () in front of the class name and how the class functions will be called ? As i said i do not know what type of structure it is , so i do not know how to search it with proper key words on a search engine . 
What type of structure is this in java?
java