Core Programming: Basic Object-Oriented Programming in Java
Core Programming: Basic Object-Oriented Programming in Java
Web programming
Basic Object-Oriented
Programming in Java
www.corewebprogramming.com
Example 1: Instance Variables
(Fields or Data Members)
class Ship1 {
public double x, y, speed, direction;
public String name;
}
}
}
www.corewebprogramming.com
Instance Variables: Results
Compiling and Running:
javac Test1.java
java Test1
Output:
Ship1 is initially at (1,0).
Ship2 has moved to (-1.41421,1.41421).
www.corewebprogramming.com
Example 1: Major Points
Java naming convention
Format of class definitions
Creating classes with new
Accessing fields with
variableName.fieldName
www.corewebprogramming.com
Java Naming Conventions
Leading uppercase letter in class name
www.corewebprogramming.com
First Look at Java Classes
The general form of a simple class is
...
www.corewebprogramming.com
Example 2: Methods
class Ship2 {
public double x=0.0, y=0.0, speed=1.0, direction=0.0;
public String name = "UnnamedShip";
www.corewebprogramming.com
Defining Methods
(Functions Inside Classes)
Basic method declaration:
public ReturnType methodName(type1 arg1,
type2 arg2, ...) {
...
return(something of ReturnType);
}
For example, the Math class has a static method called cos that
expects a double precision number as an argument
So you can call Math.cos(3.5) without ever having any object
(instance) of the Math class
www.corewebprogramming.com
Method Visibility
public/private distinction
A declaration of private means that outside methods
cant call it -- only methods within the same class can
Thus, for example, the main method of the Test2
class could not have done
double x = s1.degreesToRadians(2.2);
Attempting to do so would have resulted in an
error at compile time
Only say public for methods that you want to guarantee
your class will make available to users
You are free to change or eliminate private methods
without telling users of your class about
www.corewebprogramming.com
Example 3: Constructors
class Ship3 {
public double x, y, speed, direction;
public String name;
www.corewebprogramming.com
Example 3: Major Points
Format of constructor definitions
The this reference
Destructors (not!)
www.corewebprogramming.com
Constructors
Constructors are special functions called when a
class is created with new
Constructors are especially useful for supplying values of fields
Constructors are declared through:
public ClassName(args) {
...
}
Notice that the constructor name must exactly match the class name
Constructors have no return type (not even void), unlike a regular
method
Java automatically provides a zero-argument constructor if and only
if the class doesnt define its own constructor
Thats why you could say
Ship1 s1 = new Ship1();
in the first example, even though a constructor was never
defined
www.corewebprogramming.com
The this Variable
The this object reference can be used inside any
non-static method to refer to the current object
The common uses of the this reference are:
1. To pass a reference to the current object as a parameter to other
methods
someMethod(this);
www.corewebprogramming.com
Destructors
www.corewebprogramming.com
Summary
Class names should start with uppercase; method
names with lowercase
Methods must define a return type or void if no result
is returned
If a method accepts no arguments, the arg-list in the
method declaration is empty instead of void as in C
Static methods do not require an instance of the
class; static methods can be accessed through the
class name
The this reference in a class refers to the current
object
Class constructors do not declare a return type
Java performs its own memory management and
requires no destructors
www.corewebprogramming.com