27‐1
次のクラスをコンパイル・実行するとどのようになりますか?
------------------------------------------------------------------------
class Class01 {
	void print(){
		System.out.println("OK");
	}
}

class Exer27_01 {
	private static void met(Class01 c){
		c.print();
	}

	public static void main(String[] args){
		Class01 c = new Class01();
		met(c);
	}
}
------------------------------------------------------------------------

27‐2
次のクラスをコンパイル・実行するとどのようになりますか?
------------------------------------------------------------------------
class Class01 {
	void print(){
		System.out.println("OK");
	}
}

class Exer27_02 {
	private static Class01 met(){
		Class01 c = new Class01();
		return c;
	}

	public static void main(String[] args){
		Class01 c = met();
		c.print();
	}
}
------------------------------------------------------------------------

27‐3
次のクラスをコンパイル・実行するとどのようになりますか?
------------------------------------------------------------------------
class Class01 {
	void print(){
		System.out.println("OK");
	}
}

class Exer27_03 {
	private static void met(Class01 c){
		c.print();
	}

	public static void main(String[] args){
		met(new Class01());
	}
}
------------------------------------------------------------------------

27‐4
次のクラスをコンパイル・実行するとどのようになりますか?
------------------------------------------------------------------------
class Class01 {
	void print(){
		System.out.println("OK");
	}
}

class Exer27_04 {
	private static Class01 met(){
		return new Class01();
	}

	public static void main(String[] args){
		met().print();
	}
}
------------------------------------------------------------------------

27‐5
次のクラスをコンパイル・実行するとどのようになりますか?
------------------------------------------------------------------------
class Class01 {
	void print(){
		System.out.println("OK");
	}
}

class Exer27_05 {
	public static void main(String[] args){
		new Class01().print();
	}
}
------------------------------------------------------------------------

27‐6
次のクラスをコンパイル・実行するとどのようになりますか?
------------------------------------------------------------------------
class Class01 {
	void print(){
		System.out.println("OK");
	}
}

class Class02 {
	Class01 c1 = new Class01();
}

class Class03 {
	Class02 c2 = new Class02();
}

class Exer27_06 {
	public static void main(String[] args){
		new Class03().c2.c1.print();
	}
}
------------------------------------------------------------------------

27‐7
次のクラスをコンパイル・実行するとどのようになりますか?
------------------------------------------------------------------------
class Class01 {
	private String name;

	Class01(String name){
		this.name = name;
	}

	void printName(){
		System.out.println(name);
	}
}

class Class02 {
	Class01 c1;

	Class02(Class01 c1){
		this.c1 = c1;
	}

	void met(){
		c1.printName();
	}
}

class Exer27_07 {
	public static void main(String[] args){
		new Class02(new Class01("Tanaka")).met();
	}
}
------------------------------------------------------------------------

27‐8
次のクラスをコンパイル・実行するとどのようになりますか?
------------------------------------------------------------------------
class Class01 {
	private int num;

	Class01(int num){
		this.num = num;
	}

	int calc(Class01 c){
		return c.num - num;
	}
}

class Exer27_08 {
	public static void main(String[] args){
		Class01 c1 = new Class01(10);
		Class01 c2 = new Class01(20);
		System.out.println(c2.calc(c1));
	}
}
------------------------------------------------------------------------

27‐9
次のクラスをコンパイル・実行するとどのようになりますか?(一部Basicでやってない部分も含みます。)
------------------------------------------------------------------------
interface Inter01 {
	void print();
}

class Class01 implements Inter01 {
	public void print(){
		System.out.println("OK");
	}
}

class Exer27_09 {
	private static void met(Inter01 i){
		i.print();
	}

	public static void main(String[] args){
		met(new Class01());
	}
}
------------------------------------------------------------------------

27‐10
次のクラスをコンパイル・実行するとどのようになりますか?(一部Basicでやってない部分も含みます。)
------------------------------------------------------------------------
interface Inter01 {
	void print();
}

class Class01 implements Inter01 {
	public void print(){
		System.out.println("OK");
	}
}

class Exer27_10 {
	private static Inter01 met(){
		return new Class01();
	}

	public static void main(String[] args){
		Inter01 i = met();
		met().print();
	}
}
------------------------------------------------------------------------

27‐11
次のクラスの//で挟まれた2行を1行にまとめなさい。
------------------------------------------------------------------------
import java.io.*;

class Exer27_11 {
	public static void main(String[] args){
		try{
			//
			InputStreamReader isr = new InputStreamReader(System.in);
			BufferedReader br = new BufferedReader(isr);
			//
			String s = br.readLine();
			System.out.println(s);
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
}
------------------------------------------------------------------------

27‐12
次のクラスの//で挟まれた2行を1行にまとめなさい。
------------------------------------------------------------------------
class Class01 extends Thread {
	public void run(){
		System.out.println("Class01!!");
	}
}

class Exer27_12 {
	public static void main(String[] args){
		//
		Class01 c = new Class01();
		c.start();
		//
		System.out.println("Exer27_12!!");
	}
}
------------------------------------------------------------------------

27‐13
次のクラスの//で挟まれた3行を1行にまとめなさい。
------------------------------------------------------------------------
class Class01 implements Runnable {
	public void run(){
		System.out.println("Class01!!");
	}
}

class Exer27_13 {
	public static void main(String[] args){
		//
		Class01 c = new Class01();
		Thread t = new Thread(c);
		t.start();
		//
		System.out.println("Exer27_13!!");
	}
}
------------------------------------------------------------------------