1 双类范例
测试用的类被命名为“受测试类”+TestDrive。
class Dog
{
int size;
String breed;
String name;
void bark()
{
System.out.println("Ruff Ruff!");
}
}
class DogTestDrive
{
public static void main (String[] args)
{
Dog d = new Dog();
d.size=40;
d.bark();
}
}
测试结果
zhangzhenpings-MacBook-Air:JAVA sekiro$ javac Dog.java
zhangzhenpings-MacBook-Air:JAVA sekiro$ java DogTestDrive
Ruff Ruff!
2 JAVA内存管理
创建对象时,对象会被存放在堆的内存区域中。
JAVA会根据对象的大小动态分配内存空间,并会主动管理内存。
3猜数字游戏
class Player
{
int number = 0;
public void guess()
{
number = (int) (Math.random()*10);
System.out.println("I'm guessing " + number + ".");
}
}
class GuessGame
{
Player p1;
Player p2;
Player p3;
public void startGame()
{
p1 = new Player();
p2 = new Player();
p3 = new Player();
int guessp1 = 0;
int guessp2 = 0;
int guessp3 = 0;
boolean p1isRight = false;
boolean p2isRight = false;
boolean p3isRight = false;
int targetNumber = (int) (Math.random()*10);
System.out.println("I'm thinking a number between 0-9.");
while(true)
{
System.out.println("Number to guess is " + targetNumber + ".");
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number;
System.out.println("Player one guessed " + guessp1 + ".");
guessp2 = p2.number;
System.out.println("Player two guessed " + guessp2 + ".");
guessp3 = p3.number;
System.out.println("Player three guessed " + guessp3 + ".");
if (guessp1 == targetNumber)
p1isRight = true;
if (guessp2 == targetNumber)
p2isRight = true;
if (guessp3 == targetNumber)
p3isRight = true;
if (p1isRight || p2isRight || p3isRight)
{
System.out.println("We have a winner!");
System.out.println("Player one got it right? " + p1isRight);
System.out.println("Player two got it right? " + p2isRight);
System.out.println("Player three got it right? " + p3isRight);
System.out.println("Game Over!");
break;
}//end if
else
System.out.println("Try again!");
}//end while
}
}
class GameLauncher
{
public static void main (String[] args)
{
GuessGame game = new GuessGame();
game.startGame();
}
}
测试结果
zhangzhenpings-MacBook-Air:JAVA sekiro$ javac GuessNumber.java
zhangzhenpings-MacBook-Air:JAVA sekiro$ java GameLauncher
I'm thinking a number between 0-9.
Number to guess is 1.
I'm guessing 3.
I'm guessing 0.
I'm guessing 2.
Player one guessed 3.
Player two guessed 0.
Player three guessed 2.
Try again!
Number to guess is 1.
I'm guessing 5.
I'm guessing 0.
I'm guessing 6.
Player one guessed 5.
Player two guessed 0.
Player three guessed 6.
Try again!
Number to guess is 1.
I'm guessing 0.
I'm guessing 1.
I'm guessing 1.
Player one guessed 0.
Player two guessed 1.
Player three guessed 1.
We have a winner!
Player one got it right? false
Player two got it right? true
Player three got it right? true
Game Over!
zhangzhenpings-MacBook-Air:JAVA sekiro$