资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
java 反射:获取 Class 类对象1)getClass()2)通过类名.class3)forName(String className)通过 getConstructors()获取类对应的构造方法返回值是 Constructor1 客户端Client.javapackage com.chinasofti.eec.demo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.net.UnknownHostException;import java.util.Scanner;public class Client private static PrintWriter pw = null;/打印private static BufferedReader br = null;/缓冲流private static Socket s;private static ServerSocket ss;private static Scanner scan = new Scanner(System.in);public static void main(String args) try s = new Socket(127.0.0.1,5500);pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream();br = new BufferedReader(new InputStreamReader(s.getInputStream();while(true)System.out.println(客户端说:);String str = scan.nextLine();pw.println(str);pw.flush();String string = br.readLine();System.out.println(服务端说:+string);if(byby.equals(str)break; catch (UnknownHostException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();try br.close();pw.close(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();Person.javapackage com.chinasofti.eec.demo;public class Person public String name=zhansgan;public int age=18;public Person(String name, int age) super();this.name = name;this.age = age;public String getName() return name;public void setName(String name) this.name = name;public int getAge() return age;public void setAge(int age) this.age = age;Overridepublic String toString() return Person name= + name + , age= + age + ;2 服务器Service.javapackage com.chinasofti.eec.demo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;/* 服务端* author Administrator*/public class Service private static PrintWriter pw = null;/打印private static BufferedReader br = null;/缓冲流private static Socket s;private static ServerSocket ss;private static Scanner scan = new Scanner(System.in);public static void main(String args) try ss = new ServerSocket(5500);System.out.println(服务器启动成功-);s = ss.accept();/等待客户端链接System.out.println(链接成功+s.getRemoteSocketAddress();/返回此套接字链接端口的地址br = new BufferedReader(new InputStreamReader(s.getInputStream();/准备读取客户端发过来的信息pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream();/准备向客户端写入信息while(true)String string = br.readLine();/读取客户端发过来的信息System.out.println(服务端接受到:+string);System.out.println(服务端说:);String str = scan.next();pw.println(str);/把服务端想说的话发送给客户端pw.flush();if(byby.equals(str)break; catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();try br.close();pw.close(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();3 获取 class 对象package com.chinasofti.eec.demo;public class ClassDemo public static void main(String args) String str = helloWorld;Class c = str.getClass();/获取Class类对象System.out.println(c.getName();ClassDemo1.javapackage com.chinasofti.eec.classdemo;public class ClassDemo public static void main(String args) A a = new A();Class c = a.getClass();String name = c.getName();System.out.println(name);class A4 通配符package com.chinasofti.eec.demo;public class ClassDemo2 public static void main(String args) Class cls = String.class;System.out.println(cls.getName();ClassDemo2.javapackage com.chinasofti.eec.classdemo;import com.chinasofti.eec.vo.Person;/* * 三种方法得到Class类对象的方法* author Administrator*/public class ClassDemo2 public static void main(String args) Class c1 = null;Class c2 = null;Class c3 = null;/第一种方式(最常用的一种)try c1 = Class.forName(com.chinasofti.eec.vo.Person); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();c2 = new Person().getClass();c3 = Person.class;String name1 = c1.getName();String name2 = c2.getName();String name3 = c3.getName();System.out.println(name1+ +name2+ +name3);ClassDemo.javapackage com.chinasofti.eec.demo;public class ClassDemo3 public static void main(String args) throws ClassNotFoundException Class cls = Class.forName(java.io.File);System.out.println(cls.getName();5 反射获得类的构造器package com.chinasofti.eec.demo;public class ClassDemo4 public static void main(String args) throws ClassNotFoundException, InstantiationException, IllegalAccessException Class cls = Class.forName(com.chinasofti.eec.demo.Person);Person per = (Person)cls.newInstance();per.setName(123);per.setAge(18);System.out.println(per);ClassDemo3.javapackage com.chinasofti.eec.classdemo;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;im
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号