Java programs are made of classes. Classes are containers. They contain members. By members we mean variables and methods. We compile and run Java programs. So let's put some members in a class. Members can be: variables or procedures. Members can be: static or non-static. You can access static members through their class: use the class name, a period, then the variable name. Once the class is created (when you compile) the member exists too. So if a class One has a static member variable m in it you can access it through One.m Non-static members in a class belong to the blueprint. Every class comes with a blueprint, for the objects you can create. A blueprint is a vision, for an object, to be created from that class. An object is a container. It can contain nothing. It has no blueprint inside, so it's not like a class. But it can have members inside, so in that it is like a class. An object is a container, containing possibly variables and methods. Method = procedure = function = subroutine. To access an instance (non-static) member: a) first an instance (object) must exist to hold that member (t) b) if you know the object's name (u) access it with u.t There is only one static member per class, existing from the beginning. Instance members are one per object. If you create 10 objects, you get 10 groups of instance members. Example: class One { public static void main(String[] args) { Two.m = 31; System.out.println(Two.m); Two a, b; a = new Two(); a.n = 102; b = new Two(); b.n = 56; } } class Two { int n; // blueprint, an instance variable static int m; // class vaeriable already there } The same goes with methods, we'll show that soon. class Experiment { public static void main(String[] args) { Account a, b; a = new Account(); a.name = "Eric Gordon"; a.balance = 23.4; System.out.println(a.report()); b = new Account(); b.name = "Jordan Crawford"; b.balance = 5.25; System.out.println(b.report()); } } class Account { String name; double balance; String report() { String answer; answer = "Hello, I am " + this.name + " and my balance is " + this.balance; return answer; } } Conversation with donstell: if we're given class Test { public static void main(String[] args) { Account dgerman = new Account("Adrian German"); dgerman.report(); Account bottesen = new Account("Bjorn Ottesen"); bottesen.deposit(3, 20); bottesen.report(); Account lbird = new Account("Larry Bird"); lbird.report(); bottesen.deposit(2, 19); lbird.deposit(50, 0); lbird.report(); bottesen.report(); } } ... then we immediately get this: class Account { Account(String n) { } void report() { } void deposit(int a, int b) { } } More about this, next time. -- Java programs are made of classes. Classes are containers. They contain members. By members we mean variables and methods. We compile and run Java programs. So let's put some members in a class. Members can be: variables or procedures. Members can be: static or non-static. You can access static members through their class: use the class name, a period, then the variable name. Once the class is created (when you compile) the member exists too. So if a class One has a static member variable m in it you can access it through One.m Non-static members in a class belong to the blueprint. Every class comes with a blueprint, for the objects you can create. A blueprint is a vision, for an object, to be created from that class. An object is a container. It can contain nothing. It has no blueprint inside, so it's not like a class. But it can have member inside, so in that it is like a class. An object is a container, containing possibly variables and methods. Method = procedure = function = subroutine. To access an instance (non-static) member: a) first an instance (object) must exist to hold that member (t) b) if you know the object's name (u) access it with u.t There is only one static member per class, existing from the beginning. Instance members are one per object. If you create 10 objects, you get 10 groups of instance members. Example: class One { public static void main(String[] args) { Two.m = 31; System.out.println(Two.m); Two a, b; a = new Two(); a.n = 102; b = new Two(); b.n = 56; } } class Two { int n; // blueprint, an instance variable static int m; // class vaeriable already there } The same goes with methods, we'll show that soon. class Experiment { public static void main(String[] args) { Account a, b; a = new Account(); a.name = "Eric Gordon"; a.balance = 23.4; System.out.println(a.report()); b = new Account(); b.name = "Jordan Crawford"; b.balance = 5.25; System.out.println(b.report()); } } class Account { String name; double balance; String report() { String answer; answer = "Hello, I am " + this.name + " and my balance is " + this.balance; return answer; } } donstell class Test { public static void main(String[] args) { Account dgerman = new Account("Adrian German"); dgerman.report(); Account bottesen = new Account("Bjorn Ottesen"); bottesen.deposit(3, 20); bottesen.report(); Account lbird = new Account("Larry Bird"); lbird.report(); bottesen.deposit(2, 19); lbird.deposit(50, 0); lbird.report(); bottesen.report(); } } class Account { Account(String n) { } void report() { } void deposit(int a, int b) { } }