java考前一天

根据我们的复习资料写的


单体程序设计


public class Singleton {
	int data = 0;
	private static Singleton single = null;
	private Singleton() {}; //类的构造方法不能具有静态属性
	public static synchronized Singleton getInstance() {
		if (single == null) {
			single = new Singleton();
		}
		return single;
	}
}


ImageIO读写操作


import java.awt.image.BufferedImage;
import java.io.File;
import java.net.URL;

import javax.imageio.ImageIO;

public class Demo {
	public static void main(String[] args) {
		try {
			File file = new File("src/img/music.png");
			//file.createNewFile(); //若原有文件存在,该方法不起作用
			URL url = new URL("https://github.com/zzuwenjie/coding-17/"
					+ "blob/master/pictures/music.png?raw=true");
			BufferedImage image = ImageIO.read(url);
			ImageIO.write(image, "png", file);
		}
		catch (Exception e) {
			System.err.println("error");
		}		
	}
}


匿名内部类


class B {  
    public void method() {  
        System.out.println("调用B的方法");  
    }  
}  
  
public class A {  
    public static void main(String[] args) {  
        B obj = new B() {  
            public void method() {  
                System.out.println("调用B的匿名内部类的方法");  
            }  
        };  
        obj.method(); //输出:调用B的匿名内部类的方法  
        //System.out.println("主方法调用结束");  
    }  
}  


多线程


public class MyThread implements Runnable {  
    private int threadID;  
    private static int data;  
    public MyThread(int id) {  
        threadID = id;  
    }  
    @Override  
    public void run() {   
        // TODO Auto-generated method stub  
        try {  
            while (true) {  
                synchronized( Class.forName("MyThread") ) {  
                    if (threadID % 2 == 0) {  
                        System.out.println("线程1:\t" + --data);  
                        Thread.sleep(300); //终端输出较慢,所以要给其足够时间输出信息  
                    }  
                    else {  
                        System.out.print("线程2:\t" + data++); //对data加1之前  
                        System.out.println("\t" + data);  
                        Thread.sleep(300);  
                    }                     
                }  
            }  
        }  
        catch (Exception e) {  
            System.err.println("error");  
        };  
    }  
      
    public static void main(String[] args) {  
        Thread t1 = new Thread(new MyThread(1));  
        Thread t2 = new Thread(new MyThread(2));  
        t1.start();  
        t2.start();  
    }  
      
}  


动态多态性(覆盖override)


//动态多态性应用  
abstract interface Tuxing {  
    public double area();  
}  
  
class Triangle implements Tuxing {  
    double a, b, c;  
      
    public Triangle(double aa, double bb, double cc) {  
        a = aa;  
        b = bb;  
        c = cc;  
    }  
      
    @Override  
    public double area() {  
        // TODO Auto-generated method stub  
        double p = (a + b + c) / 2.0;  
        return Math.sqrt(p * (p - a) * (p - b) * (p - c));  
    }     
      
}  
  
class Rectangle implements Tuxing {  
    double width, height;  
      
    public Rectangle (double w, double h) {  
        width = w;  
        height = h;  
    }     
      
    @Override  
    public double area() {  
        // TODO Auto-generated method stub  
        return width * height;  
    }  
      
}  
  
public class Polymorphism {  
    public static void main(String[] args) {  
        Tuxing g3 = new Triangle(3, 4, 5);  
        Tuxing g4 = new Rectangle(3, 3);  
        System.out.println(g3.area());    
        System.out.print(g4.area());  
    }     
}  


TCP

import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class MyServer {
	private static long cnt = 0;
	@SuppressWarnings("resource")
	public static void main(String[] args) {
		try {
			ServerSocket sever = null;
			sever = new ServerSocket(5000);//注册监听的端口
			while(true) {
				System.out.println("server wait. connecting...");
				Socket socket = sever.accept();//返回一个套接字
				System.out.println(cnt++ + "\t" + socket.getRemoteSocketAddress());
				DataOutputStream dataOut = new DataOutputStream(socket.getOutputStream());
				dataOut.writeUTF("服务器向客服端问好! hello");
				dataOut.close();
				socket.close();
				//接口extends接口,类extends类
				//implements用于实现
			}
		}
		catch (Exception e) {
			System.out.println("error");
		}
	}
}


import java.io.DataInputStream;
import java.net.Socket;

public class MyClient {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Socket socket = null;
		int port = 5000;
		try {
			if (args.length >= 1) {
				if (args.length >= 2) {
					try {
						
						port = Integer.parseInt(args[1]);
					}
					catch (Exception e) {
						;
					}
				}
				socket = new Socket(args[0], port);
			}
			else {
				socket = new Socket("localhost", port);
				//socket = new Socket("115.159.225.36", port);
				//socket = new Socket("10.108.213.181", port);
			}
			DataInputStream dataIn = new DataInputStream(socket.getInputStream());
			System.out.println("received: " + dataIn.readUTF());
			socket.close();
		}
		catch (Exception e) {
			System.out.println("an error has happened");
		}		
	}

}


InetAddress

import java.net.InetAddress;

public class MyInetAddress {
	public static void main(String[] args) {
		String addrStr = "wenjie.club";
		InetAddress ipAddr = null;
		try {
			ipAddr = InetAddress.getByName(addrStr);
			System.out.println("host Addresss: " + ipAddr.getHostAddress());
			System.out.println("host Name: " + ipAddr.getHostName());
		}
		catch (Exception e) {
			System.out.println("error");
		}
	}
}



第八章图形操作

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Eight {
	public static void main(String[] args) {
		JFrame app = new JFrame("JFrame");
		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		app.setLayout(new FlowLayout());
		int width = 800, height = 600;
		JTextField field = new JTextField("please input", 30);
		field.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//System.out.println(e.getActionCommand());
			}
		});
		JTextField passwdField = new JPasswordField("password", 30);
		passwdField.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				System.out.println(e.getActionCommand());
			}
		});
		JButton btn = new JButton("yes");
		btn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//System.out.println(e.getActionCommand());
			}
		});
		app.add(field);
		app.add(passwdField);
		app.add(btn);
		app.setSize(width, height);
		app.setVisible(true);
	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值