资源简介
徐传运 清华大学出版社 JAVA高级程序设计 思考与练习答案 算法与程序设计 一到九章答案都有,文字部分也有答案,其余为代码,导入后即可运行。
代码片段和文件信息
package ddd.ajava.chapter2.question1;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import ddd.ajava.util.StringUtil;
/**
* @author lenovo
* 反射得到Person源代码有如下步骤
* 1.获得包名
* 2.获得类名
* 3.获得构造方法
* 4.获得属性
* 5.获得方法
* 6.组装成为一个类
*/
public class GeneratePerson {
private static final String BLANK = “ “;
private static final String TAB = “\t“;
private StringBuilder sb = new StringBuilder();
public static void main(String[] args) {
GeneratePerson gp = new GeneratePerson();
gp.generate();
}
/*private void testModifier(){
System.out.println(Modifier.PUBLIC);//1
System.out.println(Modifier.PRIVATE);//2
System.out.println(Modifier.PROTECTED);//4
System.out.println(Modifier.INTERFACE);//
}*/
private static Class> clazz = null;
static {
try {
clazz = Class.forName(“ddd.ajava.chapter2.question1.Person“);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public void generate(){
this.getPackageDesc();
this.getClassDesc();
this.getFieldDesc();
this.getConstructorDesc();
this.getMethodDesc();
sb.append(“\n}“);
this.generateOutput();
}
private void getPackageDesc() {
String packageName = clazz.getPackage().getName();
sb.append(“package “+packageName+“.generated;“);
}
/**
* Modifier类修饰符的对应情况
* Modifier.PUBLIC //1
* Modifier.PRIVATE//2
* Modifier.PROTECTED//4
* “default“//0
* modifier值>=512即为interface,0-511是class
*/
private void getClassDesc() {
String classModifier=““;
int modifier=clazz.getModifiers();
if(modifier==0){
classModifier=“class“;
}else if(modifier==1){
classModifier=“public class“;
}else{
if(Modifier.isPublic(modifier)){
classModifier=“public interface“;
}else{
classModifier=“interface“;
}
}
String className = clazz.getSimpleName();
sb.append(“\n\n“+classModifier+BLANK+className+“{“);
}
private void getConstructorDesc() {
Constructor[] cons = clazz.getDeclaredConstructors();
for (Constructor c : cons) {
Class[] param=c.getParameterTypes();
StringBuilder paramSB=new StringBuilder();
//有参数的方法,要在类型后面添加变量名
if(param.length>0){
paramSB.append(clazz.getSimpleName()+“(“);
String arg=“arg“;
for(int i=0;i paramSB.append(param[i].getCanonicalName()+BLANK+arg+i+““);
}
paramSB=new StringBuilder(paramSB.substring(0 paramSB.length()-1));
paramSB.append(“)“);
String name=c.toString();
name=name.replaceFirst(“\\S(\\w*\\.*)*\\((\\w*\\.*\\ *)*\\)“paramSB.toString());
sb.append(“\n“+TAB+name+“{\n\n“+TAB+“}\n“);
continue;
}
String name=c.toString();
name=name.replaceFirst(“\\S(\\w*\\.*)*\\(“ cla
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-01 16:18 课后习题参考答案\
文件 92160 2014-04-16 21:33 课后习题参考答案\第一章和第三章.doc
目录 0 2014-04-16 21:28 课后习题参考答案\第二章,第四章至第九章(代码)\
文件 950 2013-08-31 08:33 课后习题参考答案\第二章,第四章至第九章(代码)\.classpath
文件 381 2013-08-22 12:16 课后习题参考答案\第二章,第四章至第九章(代码)\.project
目录 0 2014-04-16 21:28 课后习题参考答案\第二章,第四章至第九章(代码)\.settings\
文件 88 2013-08-19 21:42 课后习题参考答案\第二章,第四章至第九章(代码)\.settings\org.eclipse.core.resources.prefs
文件 629 2013-08-14 13:21 课后习题参考答案\第二章,第四章至第九章(代码)\.settings\org.eclipse.jdt.core.prefs
文件 0 2013-08-22 12:11 课后习题参考答案\第二章,第四章至第九章(代码)\a.txt
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question1\
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question10\
文件 3844 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question10\GenerateSQL.class
文件 1254 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question10\Person.class
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question11\
文件 5510 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question11\ConvertBtnPersonAndMap.class
文件 1890 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question11\Person.class
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question1\generated\
文件 1491 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question1\generated\Person.class
文件 6173 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question1\GeneratePerson.class
文件 1518 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question1\Person.class
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question2\
文件 72 2013-08-20 09:40 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question2\Person.txt
文件 4383 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question2\StoreAttrToTxt.class
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question3\
文件 4697 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question3\SetAttrToInstance.class
目录 0 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question4\
文件 1119 2018-01-01 16:19 课后习题参考答案\第二章,第四章至第九章(代码)\bin\ddd\ajava\chapter2\question4\Bootstrap.class
............此处省略296个文件信息
相关资源
- Java2实用教程第三版PDF+WORD版含源码以
- java高级程序设计课后习题答案
- JAVA开发实战经典-课后习题答案-李兴
- 清华大学出版社-郭克华版-Java-Web课后
- java程序设计教程第七版课后习题答案
- 疯狂JAVA讲义课后习题答案
- Java程序设计基础篇第10版课后习题答
- Java语言程序设计李尊朝版课后习题答
- 《Java基础入门》_课后习题答案
- Java语言程序设计(基础篇) 机械工业
- java语言与面向对象程序设计课后习题
- java程序设计之网络编程第二版课后习
- JAVA程序设计慕课版课后习题答案
- java程序设计教程 第六版 课后习题答
- 学士后Java集合框架和泛型课后习题答
- Java语言程序设计-基础篇+进阶篇+英文
- JavaEE轻量级框架应用与开发——S2SH答
- java程序设计实用教程_(第3版)_课后
- android移动开发案例教程课后习题答案
- Java语言程序设计课后习题答案
- Java Web程序设计任务教程 源码、课件
- Java Web程序设计与开发(本书源代码和
- 自考04747《Java语言程序设计》课后习
- JSP程序设计课后习题答案
- java程序设计第二版课后习题答案
- java开发实战经典第十二章课后习题答
- 统计学(第6版)贾俊平+公式整理+课
评论
共有 条评论