Greeter(String aName) sayHello() namepublic or private new operatornew Greeter("World")
new Greeter("World").sayHello()
Greeter worldGreeter = new Greeter("World");
String greeting = worldGreeter.sayHello();
main method is called when program starts main is static: it doesn't operate on any objects main starts main constructs objects and invokes methodscd to directory that holds your files javac GreeterTest.javaNote that Greeter.java is automatically compiled.
java GreeterTest
mkdir csci2300mkdir csci2300/circlecsci2300/circle directoryjavac CircleTest.java
java CircleTest
/** ... */ @param parameter explanation @return explanation javadoc -help
javadoc -d docs src/*.java
csci2300/circle directory (redirect the output to docs director)getArea() methodfirefox docs/index.htmlint, long, short, byte double, float
char boolean 'a', '\n', '\x2122' (int) x, (float) x Math class has methods that operate on numbers:y = Math.sqrt(x);
if while do/while for for loop:for (int i = 1; i <= n; i++)
{
. . .
}
// i no longer defined here
Greeter worldGreeter = new Greeter("World");
Greeter anotherGreeter = worldGreeter;![]()
anotherGreeter.setName("Dave");
// now worldGreeter.sayHello() returns "Hello, Dave!"
null Referencenull refers to no object null to object variable:
worldGreeter = null;
null
if (worldGreeter == null) . . .
null causes NullPointerException this Reference
public boolean equals(Greeter other)
{
if (this == other) return true;
return name.equals(other.name);
}
public Greeter(String name)
{
this.name = name;
}
public void copyNameTo(Greeter other)
{
other.name = this.name;
}
Greeter worldGreeter = new Greeter("World");
Greeter daveGreeter = new Greeter("Dave");
worldGreeter.copyNameTo(daveGreeter);
public void copyLengthTo(int n)
{
n = name.length();
}
public void copyGreeterTo(Greeter other)
{
other = new Greeter(name);
}
int length = 0; worldGreeter.copyLengthTo(length); // length still 0 worldGreeter.copyGreeterTo(daveGreeter) // daveGreeter unchanged