import java.io.*; class Daemon extends Thread { private static final int SIZE = 10;//定义一个静态常量 private Thread[] t = new Thread[SIZE];//定义一个线程数组 public Daemon() {//构造方法 setDaemon(true);//设置一个驻留的线程 start();//运行线程 } public void run() { for(int i = 0; i < SIZE; i++) { t[i] = new DaemonSpawn(i);//把线程数组进行实例化 } for(int i = 0; i < SIZE; i++) { System.out.println("t[" + "].isDaemon()= " + t[i].isDaemon());//打印出某是否为一个驻留程序 } while(true) {//循环让出控制权给同一个级别的线程 yield(); } } } class DaemonSpawn extends Thread { public DaemonSpawn(int i) {//构造方法 System.out.println("DaemonSpawn" + i +"started");//打印是哪个开始执行 start();//让线程开始执行起来 } public void run() { while(true) {//一直都在让出它的控制权 yield(); } } } public class Daemons { public static void main(String[] args) { Thread d = new Daemon(); System.out.println("d.isDaemon()= "+d.isDaemon()); BufferedReader stdin =//构造了一个字符输入流 new BufferedReader(new InputStreamReader(System.in)); System.out.println("Waiting for CR"); try { stdin.readLine();//从键盘中读一行 }catch(IOException e) { } } }
import java.io.PrintWriter; class Point2D { int x, y; Point2D() { this(0, 0); } Point2D(int x) { this(x, 0); } Point2D(int x, int y) { this.x = x; this.y = y; } double length() { return Math.sqrt(x * x + y * y); } } class MyPoint extends Point2D { int x, y; MyPoint(int x, int y) { super(x, y); this.x = x; this.y = y; } double length() { return Math.sqrt(x * x + y * y); } double distance() { return Math.abs(this.length() - super.length()); } } public class PointTest { public static void main(String[] args) { PrintWriter out = new PrintWriter(System.out, true); MyPoint mp = new MyPoint(4, 3); Point2D p = new Point2D(11); Point2D q = mp; mp.x = 5; mp.y = 12; out.println(mp.y); // out.println(mp.x); out.println(p.y); // out.println(q.y); // out.println(mp.length()); // out.println(p.length()); // out.println(q.length()); // out.println(mp.distance()); } }