This topic is pretty much the base of all Java programming. Which is why this post will have to be longer than the other posts to fully explain this concept.
//This is a class method, notice that it has no main method
//We use this class in the tester one bellow
public class MyPoint
{
 private int x;//instance variables
 private int y;
 public MyPoint()//no-arg cst
 {
 this.x = 0;
 this.y = 0;
 }
 public MyPoint(int x, int y)
 {
 this.x = x;
 this.y = y;
 }
 //getter method, with int return type
 public int getX()
 {
 return this.x;
 }
 public int getY()
 {
 return this.y;
 }
 //sets the instance variables
 public void setXY(int x, int y)
 {
 this.x = x;
 this.y = y;
 }
 public String toString()
 {
 return String.format("(" + this.x + "," + this.y + ")");
 }
 //This operation finds the distance between the specified point
 //and the objects current point
 public double distance(int x, int y)
 {
 return Math.sqrt(Math.pow(this.x - x, 2) + (Math.pow(this.y - y, 2)));
 }
 //this actually passes in an object as a parameter
 //Therefore we must use the getters to retrieve X and Y
 public double distance(MyPoint pt)
 {
 return Math.sqrt(Math.pow(pt.getX() - this.x, 2) + (Math.pow(pt.getY() - this.y, 2)));
 }
}
public class MyPointTest
{
 public static void main(String[] args)
 {
 //this invokes our first contructor
 MyPoint p1 = new MyPoint();
 //this invokes our second constructor
 MyPoint p2 = new MyPoint(4, 8);
 double dis = p1.distance(3, 4);
 System.out.print("The distance from " + p1.toString());
 System.out.println(" to (3, 4) is: " + dis);
 p1.setXY(10, 10);
 System.out.println("x is: " + p1.getX());
 System.out.println("y is: " + p1.getY());
 MyPoint[] points = { p1, p2, new MyPoint(7, 3) };
 for (int i = 0; i < points.length - 1; i++)
 {
 System.out.print("The distance from " + points[i].toString());
 System.out.print(" to " + points[i + 1].toString() + " is: ");
 dis = points[i].distance(points[i + 1]);
 System.out.println(dis);
 }
 }
}
this is a keyword that represents the object, which indicates the compiler to use the method on the objects values.
If a movie with the tittle "The Matrix" uses the method getTitle(), this method has the following code:
public String getTitle()
{
 return this.title;
}
this.title will refer to the title of the movie that is calling the method.
This explains for short how to declare a class and use the class to create an object.
Read next: Strings