我们也可以使用class类的.newInstance()方法来创建对象。此newInstance()方法调用无参构造函数以创建对象。
我们可以通过newInstance() 用以下方式创建对象:
Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee").newInstance();
或者
Employee emp2 = Employee.class.newInstance();
51: invokevirtual #70 // Method java/lang/Class.newInstance:()Ljava/lang/Object;
与使用class类的newInstance()方法相似,java.lang.reflect.Constructor类中有一个可以用来创建对象的newInstance()函数方法。通过使用这个newInstance()方法我们也可以调用参数化构造函数和私有构造函数。
Constructor constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
111: invokevirtual #80 // Method java/lang/reflect/Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
这些 newInstance() 方法被认为是创建对象的反射手段。实际上,内部类的newInstance()方法使用构造函数类的 newInstance() 方法。这就是为什么后者是首选并且使用不同的框架如Spring, Hibernate, Struts等。
让我们来看看准备创建对象的 Employee 类:
class Employee implements Cloneable, Serializable {
private static final long serialVersionUID = 1L;
private String name;
public Employee() {
System.out.println("Employee Constructor Called...");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Employee other = (Employee) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
@Override
public String toString() {
return "Employee [name=" + name + "]";
}
@Override
public Object clone() {
Object obj = null;
try {
obj = super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return obj;
}
}
在下面的Java程序中我们用5种方式来创建 Employee对象。
public class ObjectCreation {
public static void main(String... args) throws Exception {
// By using new keyword
Employee emp1 = new Employee();
emp1.setName("Naresh");
System.out.println(emp1 + ", hashcode : " + emp1.hashCode());
// By using Class class's newInstance() method
Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee")
.newInstance();
// Or we can sim* do this
// Employee emp2 = Employee.class.newInstance();
emp2.setName("Rishi");
System.out.println(emp2 + ", hashcode : " + emp2.hashCode());
// By using Constructor class's newInstance() method
Constructor constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
emp3.setName("Yogesh");
System.out.println(emp3 + ", hashcode : " + emp3.hashCode());
// By using clone() method
Employee emp4 = (Employee) emp3.clone();
emp4.setName("Atul");
System.out.println(emp4 + ", hashcode : " + emp4.hashCode());
// By using Deserialization
// Serialization
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("data.obj"));
out.writeObject(emp4);
out.close();
//Deserialization
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Employee emp5 = (Employee) in.readObject();
in.close();
emp5.setName("Akash");
System.out.println(emp5 + ", hashcode : " + emp5.hashCode());
}
}
——Java中创建对象的5种方法 (菁华3篇)
我们也可以使用class类的.newInstance()方法来创建对象。此newInstance()方法调用无参构造函数以创建对象。
我们可以通过newInstance() 用以下方式创建对象:
Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee").newInstance();
或者
Employee emp2 = Employee.class.newInstance();
51: invokevirtual #70 // Method java/lang/Class.newInstance:()Ljava/lang/Object;
与使用class类的newInstance()方法相似,java.lang.reflect.Constructor类中有一个可以用来创建对象的newInstance()函数方法。通过使用这个newInstance()方法我们也可以调用参数化构造函数和私有构造函数。
Constructor constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
111: invokevirtual #80 // Method java/lang/reflect/Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
这些 newInstance() 方法被认为是创建对象的反射手段。实际上,内部类的newInstance()方法使用构造函数类的 newInstance() 方法。这就是为什么后者是首选并且使用不同的框架如Spring, Hibernate, Struts等。
让我们来看看准备创建对象的 Employee 类:
class Employee implements Cloneable, Serializable {
private static final long serialVersionUID = 1L;
private String name;
public Employee() {
System.out.println("Employee Constructor Called...");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Employee other = (Employee) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
@Override
public String toString() {
return "Employee [name=" + name + "]";
}
@Override
public Object clone() {
Object obj = null;
try {
obj = super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return obj;
}
}
在下面的Java程序中我们用5种方式来创建 Employee对象。
public class ObjectCreation {
public static void main(String... args) throws Exception {
// By using new keyword
Employee emp1 = new Employee();
emp1.setName("Naresh");
System.out.println(emp1 + ", hashcode : " + emp1.hashCode());
// By using Class class's newInstance() method
Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee")
.newInstance();
// Or we can sim* do this
// Employee emp2 = Employee.class.newInstance();
emp2.setName("Rishi");
System.out.println(emp2 + ", hashcode : " + emp2.hashCode());
// By using Constructor class's newInstance() method
Constructor constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
emp3.setName("Yogesh");
System.out.println(emp3 + ", hashcode : " + emp3.hashCode());
// By using clone() method
Employee emp4 = (Employee) emp3.clone();
emp4.setName("Atul");
System.out.println(emp4 + ", hashcode : " + emp4.hashCode());
// By using Deserialization
// Serialization
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("data.obj"));
out.writeObject(emp4);
out.close();
//Deserialization
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Employee emp5 = (Employee) in.readObject();
in.close();
emp5.setName("Akash");
System.out.println(emp5 + ", hashcode : " + emp5.hashCode());
}
}
——java简历 (菁华3篇)
个人信息
姓 名 XXX 性 别 男
电 话 年 龄
Email 专 业
毕业院校 工作经验 1年
择业目标
软件开发工程师
基于Unix / Linux*台、Oracle数据库、J2EE架构的软件开发工程师。
专业技能
精通Core Java以及JSP、Servlet等Java Web编程技术;
熟练掌握常用编程语言:C++、Java;
能熟练应用Struts/Hibernate/Spring等开源框架进行项目开发;
能熟练应用多种JAVA应用服务器进行Java程序开发,包括:Weblogic、Apache Tomcat ,Jboss等;
熟悉Oracle(9i)数据库,熟练掌握基于Oracle(9i)的数据库编程:SQL,PL/SQL及PRO*C;
能进行基于Sun Solaris Unix环境下的C++/Java 编程;
掌握EJB3.0、Spring、Web Services及XML等Java EE高级编程技术;
掌握面向对象的分析和设计OOAD/UML;
能熟练应用Eclipse、NetBeans等集成开发环境;
了解各种网络协议,掌握基于常见协议的网络编程;
1. 项目名称:电信级用户管理&计费系统(NetCT OSS)
系统*台: Unix(Sun Solaris)
数据库: Oracle9i
服务器: Jboss
技术实现: Struts+Hibernate+Spring
项目描述:
整个项目开发周期为40人/月 ,20万行代码量,小组分模块协同开发。该系统主要完成电信业务计费、人员管理以及电信业务修改业务。电信业务计费主要是IP网用户上网时长统计和资费统计。人员管理和电信业务管理模块能够灵活添加、修改资费定价信息和促销信息;增、删、查、改用户信息、管理员信息;按月生成用户月帐单;按月、年分别生成月帐务信息统计报表和年帐务信息统计报表并允许用户通过Internet自查询自己当前或历史帐单。
责任描述:
(1)参与该系统详细设计工作,并负责其中的数据提取模块、资费管理模块、用户管理模块以及管理员管理模块的代码编写。
(2)数据提取模块是数据采集系统的中央处理模块用C++实现,完成Client端用户登入登出原始数据到Server端数据库记录的转变及传输。原始记录为AAA(验证、授权、计费)服务器的wtmpx文件。数据整合系统使用PL/SQL开发,定时完成明细表到日表、日表到月表、月表到年表的数据汇总。
(3)负责用户管理、资费管理、管理员管理等模块的代码编写工作,系统采用典型的四层结构(Browser、Web Container、EJB Container、Database),Web部分采用基于MVC模式的Struts框架实现,表现层主要用JSP与JSTL、EL相结实现,控制层采用ActionServlet负责处理请求和转发请求,业务层使用轻量级的框架Spring实现业务组件的管理,数据持久层采用Hibernate技术实现业务层和数据库的交互,底层是Oracle数据库,设计开发的原则:每层之间都是采用面向接口编程技术,降低了上层对下层逻辑调用的依赖,该项目体现了低耦合、高内聚的设计思想。
(4)通过该项目的开发,使自己更加熟练的掌握了基于JSP、Servlet及Struts框架的Web编程技术,基于关系-对象映射(ORM)的Hibernate数据库访问技术,同时也对业务侧的Spring框架体系有更深刻的理解。
2.项目名称:电子商务图书购物系统
系统*台: Unix(Sun Solaris)
服务器: Apache Tomcat
数据库: Oracle9i
技术实现: Struts+JDBC+JavaBean
项目描述:
本项目开发时周期为4人/月,5万行代码量,小组分模块协作进行。该系统是一个在线购物商店,主要功能有用户登录、显示商品、购买商品、对商品的增删改查、生成定单等功能。
责任描述:
(1)负责用户登录、显示商品、购买商品等模块的代码编写工作,Web部分采用基于MVC模式的Struts框架实现,表现层主要用JSP与JSTL、EL相结实现,控制层采用ActionServlet负责处理请求和转发请求,业务逻辑层使用JavaBean实现,并且采用DAO设计模式进行数据访问的封装,数据持久层采用JDBC技术实现业务层和数据库的交互,设计开发的原则:每层之间都是采用面向接口编程技术,降低了上层对下层逻辑调用的依赖,该项目体现了低耦合、高内聚的设计思想。
(2)通过该项目的开发,使自己深刻理解了MVC设计模式以及Struts框架,提升了自己的基于JSP、Servlet及Struts框架的Web编程技术,通过使用DAO设计模式降低了业务逻辑和数据源的耦合度,同时也熟练掌握了JDBC数据库编程技术。
工作过程
在工作中及时顺利地完成了上级交给的工作,积累了J2EE项目开发的经验。
已获证书
◆高级软件工程师证书; ◆ 软件设计师证书。
教育背景
20xx年9月——20xx年7月
自我评价
技术:熟练使用SSH三大框架和各种常见的设计模式进行J2EE的开发,熟练应用数据库知识,有良好的开发*惯和设计思路,并积累了1年左右的项目开发经验。
兴趣:有各种兴趣爱好,如打篮球,乒乓球,游泳,钓鱼,下棋,玩竞技游戏等。它们让我的生活充满乐趣和活力,也让我认识了更多的朋友。
性格:学*能力和对环境的适应能力强,思维敏捷,分析能力强,认真细致、有责任心,做事有计划,善于沟通与交流。
我有较强的科学研究和动手能力,精通CC++编程语言及MFC编程框架,并熟练运用VC++6。0VS20xx等软件进行相关工作。对Socket套接字编程有一定的了解,编写过聊天室类软件。熟悉OpenGL图形编程开发,并有相关项目经验。
我的性格沉稳、为人谦和、严谨认真,对IT行业的工作,具有非常好的`研究应用能力,具有很强的组织和协调能力,富有的事业心和责任感使我能够面对任何困难和挑战。
女 22岁
学历: 本科
工作年限: 应届毕业生
期望薪资: 3000-5000元
工作地点: 广州 - 天河 - 东圃
求职意向:Java软件开发工程师 | 软件研发工程师
诚信正直 学*能力强 责任心强 阳光开朗 有亲和力
工作经验(工作了1个月,做了1份工作)
达内科技有限公司
工作时间:20xx年7月 至 20xx年8月[1个月]
职位名称:程序员
教育经历
20xx年6月毕业 衡阳师范学院 信息与计算科学
——java简历的自我评价 (菁华3篇)
掌握面向对象编程的思想,扎实的C++功底,熟练掌握VC++,VS。NET等开发工具;掌握COM技术,有COM开发经验;熟悉MFC、SDK、多线程、gdi+、winsocket等;熟悉各种网络协议,如:tcp/ip,http,soap协议;深入理解XML,有丰富的XML开发经验,熟练掌握DOM、SAX解析过程;熟悉SQLSERVER,能独立完成系统的分析、设计和开发。有良好的编程*惯,能够编写高内聚松耦合的模块。有较强的团队合作精神。善于总结开发经验,能够合理的运用设计模式进行开发,热爱编程工作,并具有良好的自学能力,适应能力,做事积极性高。
有多次项目小组长的经历,能够很快的.融入团队,适应能力和自学能力强。在工作中能够吃苦耐劳,能够正确对待生活及工作中遇到的困难,在学*上积极进取,认真踏实严谨,虚心好学。
本人吃苦耐劳,有团队合作精神。专业知识过硬,对自己的专业有浓厚的兴趣。拥有CCNP,MCSE双方认证,多年工作中,不管在什么岗位,对工作认认真真,勤勤恳恳,积累了不少大型网络系统集成经验。
有较强的听,说,读,写能力,口语流利,能阅读科技原文文献,资料;接受过全方位的大学基础教育,受到良好的专业训练和能力的.培养.熟练掌握C,C++等语言。三年软件开发经历,1年多JAVA软件工程师,1年多SAS(数据库)工程师。
事业心强,追求成功和卓越,敢于面对风险,承担压力,乐于从事挑战性工作;沟通力强,良好的协调技巧、沟通能力和团队意识;基本素质好,工作认真热情富责任心,为人坦诚、守信、自信;适应性强,适应新思维、新方式、新问题和新环境;逻辑性强,在严密分析的基础上结论,在全面考虑的前提下决断;始终坚信:凡事预则立不预则废。
本人为人踏实、勤奋,严格要求自己,工作积极,一丝不苟,对新事物有较强的接受能力。对自己已掌握的技术敢于创新,精益求精,能够妥善的处理周围的人际关系,团结同事,并具有极强的`团队合作精神。
oracle在企业使用情况,金融业及*的IT环境,power的小型机及其操作系统AIX,IBM在存储备份上的架构,另外还有商业计划书和体验团队精神,团队合作训练等,公司还安排了参观活动,如参观著名企业IBM,公益活动,如广州海珠儿童康复中心,各式各样的讲座,如与铭源公司经理人,IBM经理的交流,学*了职业规划等等……深入了解了企业级的运行模式,为踏出社会更易于投入工作角色。
在实*期间有强烈的求知欲,勤奋好学,表现良好,能够在指定时间内完成安排的工作,热心助任人,善于与同事沟通。
——java简历 (菁华3篇)
XXX
(+86) 13xxxxxx
xxxx@xxxx.com
微信:xxxx
求职意向:软件实*生
教育背景
20xx.09 - 20xx.06 XX大学 软件工程 本科
专业理论:C/C++ 、汇编语言、离散数学、结构化计算机组成、JAVA语言、编译原理、计算机网络
技能证书
计算机语言:C、Java、SQL
数据库软件:Oracle、Access
操作系统:Windows、Linux
大学英语四级
软件开发经历
20xx.04 - 20xx.08 网上选课系统课程实验
运用UML在Rational Rose中建模
通过这次课程设计,熟练掌握了UML
其他经历
20xx.04 - 20xx.08 定期参加上海地铁志愿者活动
特长爱好
软件:喜欢泡CSDN论坛
篮球(院际比赛第二名)、羽毛球
姓名:zxx
目前所在: 天河区 年 龄: 21
户口所在: 湖南 国 籍: *
婚姻状况: 未婚 民 族: 汉族
培训认证: 未参加 身 高: 158 cm
体 重: 45 kg
我的特长:xxx
求职意向
人才类型: 普通求职
应聘职位: 软件工程师:java程序员
工作年限: 1 职 称: 初级
求职类型: 全职 可到职日期: 随时
月薪要求: 20xx--3500 希望工作地区: 广州,广东省,
工作经历
长沙信凯软件有限公司 起止年月:20xx-01 ~ 20xx-04
公司性质: 民营企业 所属行业:计算机/互联网/通信/电子
担任职位: java程序员
工作描述: OA自动化办公系统:
软件环境:Apache Tomcat 5.0/MySQL /windows20xx/jdk1.4.2
开发工具:Eclipse,Dreamweaver等开发工具
项目描述:该项目主要针对衡阳市环保局的自动化办公,提高办公效率。
1、项目主要采用当前流行的MVC模式,Struts+Hibernate+Spring框架(B/S)。
2、使用的技术: JSP 、Servlet 、JavaBean 、Hibernate、JNDI、XML、Struts、Spring等相关技术。
责任描述:
1、负责技术:相关JavaBean,Servlet,Hibernate持久层的编写,配置,调试等负责部署整个webapplication。
2、负责功能为个人办公,包括短消息,通讯录等。
客户关系管理系统(CRM)
1.开发环境:Apache Tomcat 5.0/SQLServer/windows20xx/jdk1.4.2
2.开发工具:Eclipse ,Dreamweaver等开发工具
3.项目描述:基于J2EE*台,采用MVC设计模式及SSH(Struts+Spring+Hibernate)三个集成框架、B/S模式、SQLServer作为后台数据库。
4.项目责任:本人主要负责营销管理模块及其显示层的开发。
离职原因:xxx
教育背景
毕业院校: 湖南城市学院
最高学历: 大专 获得学位: 毕业日期: 20xx-06
专 业 一: 计算机科学与技术 专 业 二:
起始年月 终止年月 学校(机构) 所学专业 获得证书 证书编号
20xx-09 20xx-06 湖南城市学院 计算机科学与技术 - -
语言能力
外语: 英语 良好 粤语水*: 较差
其它外语能力:
国语水*: 优秀
工作能力及其他专长
1.扎实的JAVA基础知识,熟悉面向对象编程思想,熟练MVC设计模式。
2.熟悉JAVA、HTML、XML等语言的软件开发;
3.精通JSP,Servlet,JDBC,JSTL等Web开发技术
4.熟练J2EE(Javabean,struts,hibernate,spring)+ Apache Tomcat 5.0开发;
5.熟悉SQL-Server、MySQL,Oracle数据库的操作;
6.了解Linux操作系统,Ajax技术。
7.核心技术:J2EE。
业余爱好:
音乐、锻炼身体、阅读、旅游等
自我评价
本人自学能力强,思维敏捷,对于新知识接受快,勇于面对困难,敢于挑战;
为人诚恳,待人真诚,具有良好的团队合作精神和沟通组织能力,工作认真、踏实、积极上进。
女 22岁
学历: 本科
工作年限: 应届毕业生
期望薪资: 3000-5000元
工作地点: 广州 - 天河 - 东圃
求职意向:Java软件开发工程师 | 软件研发工程师
诚信正直 学*能力强 责任心强 阳光开朗 有亲和力
工作经验(工作了1个月,做了1份工作)
达内科技有限公司
工作时间:20xx年7月 至 20xx年8月[1个月]
职位名称:程序员
教育经历
20xx年6月毕业 衡阳师范学院 信息与计算科学
——photoshop去除水印的六种方法 (菁华3篇)
使用仿制图章工具去除文字这是比较常用的方法,具体的操作是,选取仿制图章工具,按住Alt键,在无文字区域点击相似的色彩名图案采样,然后在文字区域拖动鼠标复制以覆盖文字。
要注意的`是,采样点即为复制的起始点。选择不同的笔刷直径会影响绘制的范围,而不同的笔刷硬度会影响绘制区域的边缘融合效果。
如果图片的背景色彩或图案比较一致,使用修补工具就比较方便
具体操作是:选取修补工具,在公共栏中选择修补项为“源”,关闭“透明”选项。然后用修补工具框选文字,拖动到无文字区域中色彩或图案相似的位置,松开鼠标就完成复制。
修补工具具有自动匹配颜色的功能,复制的效果与周围的色彩较为融合,这是仿制图章工具所不具备的。
操作的方法与仿制图章工具相似。按住Alt键,在无文字区域点击相似的色彩或图案采样,然后在文字区域拖动鼠标复制以覆盖文字,只是修复画笔工具与修补工具一样,也具有自动匹配颜色的功能,可根据需要进行选用。
——高考作文审题立意的10种方法实用5篇
面对材料作文,不少考生因未能真正吃透材料,熟练掌握审题立意、观点提炼的`方法,时常造成所提炼的观点与材料若即若离,甚至南辕北辙,即使你的文章结构再严谨、论证再充分、事例再丰富、语言再优美,也只能是“瞎子点灯白费蜡”了。可见,材料作文的观点提炼,至关重要。
那么,如何才能吃透材料,紧扣材料,选好角度,确立一个具有相当新意、深意的观点呢?
有些材料作文的材料比较散。对于这样的材料,审题时可以采用多向发散的思维方法,围绕材料展开多角度立意。
示例
薛潭学讴于秦青,未尽秦青之技,自谓尽之。遂辞归。秦青弗止,饯于郊衢。抚节悲歌,声振林木,响遏行云。薛潭乃谢求反,终身不敢言归。
从薛潭角度,我们可抓住他“学讴”、“未尽秦青之技”就“辞归”,得出“要谦虚”的启示;也可从他意识到自己远未学到老师的本事而“谢求反”,总结出“要知错即改”的道理。从老师秦青的角度,我们可从他面对学生的自以为是,并未发怒,而是“弗止,饯于郊衢”,且“抚节悲歌,声振林木,响遏行云”的.不一般的举动中,受到启发:“教育要讲究方法”。
然而薛潭“终身不敢言归”的做法值得商榷。倘若学生真的将老师的本事全部学到家的话,那又何必“终身不敢言归”呢?我们完全可以理直气壮地另行拜师,博采众长。当然,提炼出多个观点后,应择优而作。
然而面对材料作文,不少考生因未能真正吃透材料,熟练掌握审题立意、观点提炼的方法,时常造成所提炼的观点与材料若即若离、似是而非,差之毫厘、失之千里,甚至南辕北辙、风马牛不相及的重大失误——即使你的文章结构再严谨、论证再充分、事例再丰富、语言再优美,也只能是“瞎子点灯白费蜡”了。可见,材料作文的观点提炼,至关重要。
那么,如何方能吃透材料,紧扣材料`,选好角度,确立一个具有相当新意、深意的观点呢?以下方法谨供参考。
一、主旨领悟法
这是材料作文最为常用且最为稳妥的审题立意方法。如果能准确地领悟材料的中心,并以之为文章的主旨,那么,所写文章定能既切题又有深度。
示例
《华尔街日报》报道:海湾战争前夕,该报记者到驻沙特的美国陆战队采访时,惊奇地发现,在沙漠的帐篷里,待命的军舰上,美国的官兵正在争相研读中国的《孙子兵法》。陆战队司令格雷将军指令:《孙子兵法》为陆战队官兵必读书。
综观材料,我们不难发现,美国官兵之所以学*中国的《孙子兵法》,是用以指导他们的战术,材料的主旨十分清晰,据此,可提炼“他山之石可以攻玉”之类的观点。当然,这是显性的;从隐性看,外国人尚且如此重视对我国文化遗产的学*,那么作为中国人的我们,则更应“重视祖国文化遗产的传承”,而这在某种意义上更具深意。
二、关键把握法
关键词句往往是“文眼”,蕴含着材料的主旨。因此,可将其作把握材料、选择立意角度的突破口。在材料作文的材料中,关键词句常常是命题者或材料中的人物的评议性语句。
示例
巴西足球名将贝利在足坛上初露锋芒时,一个记者问他:“你哪一个球踢得最好?”他回答说:“下一个!”而当他在足坛崭露头角,已成为世界著名球王,并踢进一千多个球后,记者又问道:“你哪一个球踢得最好?”他仍然回答:“下一个! ”
这“下一个”三个字,既体现出永不满足的进取精神,又蕴含着艺无止境、不断创新的哲理,闪耀着人格、智慧、精神的光芒。抓住了这个关键词,便抓住了材料的灵魂实质。
三、由果溯因法
事物都是互相联系的。比如,有很多事物就是以因果关系的联系形式存在的。写材料作文,审题时如果能由材料中列举的现象或结果推究出造成所列现象或结果的本质原因,往往能找到最佳的立意。
示例
某胶粘剂公司研制成强力万能胶水,在推向市场之前,别出心裁地将一枚价值可观的大金币,用该胶水粘在该公司的大理石柱上,并称谁能将其取下而不损坏门柱,金币归谁。一时间,门前人头攒动,不少人纷纷一试身手,结果力气耗尽,金币却岿然不动。人群中爆发出热烈掌声,各色人等称赞有加,消息不胫而走。新产品一上市,厂家即获得巨大效益。
材料中新产品一上市,之所以“获得巨大效益”,一是因为该强力万能胶水粘后能“岿然不动”的有目共睹的过硬质量,二是由于公司采用了非同寻常的营销宣传策略,于是,我们便能顺理成章地分别得出 “事实胜于雄辩”、“酒香还需巧吆喝”的结论。相比之下,后者更富有时代气息。
四、寓意揭示法
对于一些寄寓性材料,如寓言、童话、漫画等,须透过材料的表象,进行“由物及人”、“由物及事”的联想,即由材料中的物联想到人,进而联想到与材料内容相类似的人生哲理、社会现象等,挖掘其真正的内涵,从而确立论点。
示例
驴子驮盐渡河,它滑了一下,跌进水里,盐溶化了,它站起来时轻了许多。这件事使它很高兴。又有一天,它驮了海绵走到河边,故意一滑,跌进水里,那海绵吸了水,驴子站不起来,终于淹死了。
这则寓言告诉我们,一切应从实际出发,情况变化了,我们的思想和工作方法也应随之变化,如果墨守成规,或盲目套用,必将招致失败。写作时要透过驴子驮盐和海绵的表象,把握并取其寓意作为文章的论点。
五、细节切入法
示例
郑板桥的书法,用隶书参以行楷,非隶非楷,非古非今,俗称“板桥体”。他的作品单个字体看似歪歪斜斜,但总体感觉错落有致,别有韵味,有人说“这种作品不可无一,不可有二”。
从局部细节来看,大致有以下思路:
郑板桥书法,“用隶书参以行楷,非隶非楷,非古非今”,启示人们要“善于借鉴”,学会融合;“作品单个字体看似歪歪斜斜,但总体感觉错落有致,别有韵味”,提示我们要注重个体与总体、局部与整体关系的和谐,即“和谐就是美”;而“这种作品不可无一,不可有二”,则揭示出任何事物唯有 “彰显个性”,具有鲜明的个性特色,方能体现其价值、立于不败之地的真理。
六、倾向揣摩法
面对材料作文,不少考生因未能真正吃透材料,熟练掌握审题立意、观点提炼的方法,时常造成所提炼的观点与材料若即若离,甚至南辕北辙,即使你的文章结构再严谨、论证再充分、事例再丰富、语言再优美,也只能是“瞎子点灯白费蜡”了。可见,材料作文的观点提炼,至关重要。
那么,如何才能吃透材料,紧扣材料,选好角度,确立一个具有相当新意、深意的观点呢?
七、多向发散法
有些材料作文的材料比较散。对于这样的'材料,审题时可以采用多向发散的思维方法,围绕材料展开多角度立意。
示例
薛潭学讴于秦青,未尽秦青之技,自谓尽之。遂辞归。秦青弗止,饯于郊衢。抚节悲歌,声振林木,响遏行云。薛潭乃谢求反,终身不敢言归。
从薛潭角度,我们可抓住他 “学讴”、“未尽秦青之技”就“辞归”,得出“要谦虚”的启示;也可从他意识到自己远未学到老师的本事而 “谢求反”,总结出“要知错即改”的道理。从老师秦青的角度,我们可从他面对学生的自以为是,并未发怒,而是“弗止,饯于郊衢”,且“抚节悲歌,声振林木,响遏行云”的不一般的举动中,受到启发:“教育要讲究方法”。
然而薛潭 “终身不敢言归”的做法值得商榷。倘若学生真的将老师的本事全部学到家的话,那又何必 “终身不敢言归”呢?我们完全可以理直气壮地另行拜师,博采众长。当然,提炼出多个观点后,应择优而作。
八、舍次求主法
有些材料作文的材料往往会牵涉许多人和事。因此,审题时要明确哪些是材料的主要人物或事件,哪些是次要人物或事件,并舍弃次要人物或事件,从主要人物或事件的角度审题立意。
示例
公交车靠站停稳后,车站上一位妇女为抓紧时间,抱起原先站着等车的小孩上车。车上一青年乘客主动起身让座。抱小孩妇女谢过对方,放下小孩,笑笑说:“小家伙刚会走路,还是让他自己站吧。”此刻,见两人互相谦让,无人入座,一旁的时髦少妇眼明手快,一屁股坐下,并大声招呼道:“囡囡,妈妈帮侬抢到座位了。 ”
材料**出现了三个“人物”。无论从让座青年角度提倡 “要助人为乐”,还是从抢座位的时髦少妇方面提出“要文明礼让”,似乎均无不可。然而从整个材料的重心、指向来看,应舍弃后两个次要人物,着眼点放在主角抱小孩的妇女身上,宜立意“尽早让孩子自立”。
九、求同存异法
此法对组合性材料作文尤为适宜。如果提供的组合性材料内涵是一致的,可以抽取其共同的、本质的内容,提炼出一个论点;如果提供的材料之间内涵不一致,甚至相差很远,那么应摒弃相异的面,寻找交叉、重合的点。
示例
丹麦人去钓鱼会随身带一把尺子,钓到鱼,常常用尺子量一量,将不够尺寸的小鱼放回河里。他们说:“让小鱼长大不更好吗? ”两千多年前,我国孟子曾说过:“数罟不入洿池,鱼鳖不可胜食也。 ”
一中一外、一古一今的两材料,告诉我们的是同一个道理:在急功*利、异常浮躁的当今社会,务必“要有远见卓识”。
十、互补完善法
示例
①佛罗伦萨诗人但丁的名言:“走自己的路,让别人去说吧! ”
②波兰谚语:“常问路的人不会迷失方向。 ”
材料①“走自己的路”强调要有坚定的信念;材料②“常问路的人不会迷失方向”是讲走路时要有虚心求教的精神,要听从他人指导。两者孰是孰非?两者具有很强的互补性,若将两者结合起来,就既全面又合理。因此,可以提炼这样的观点:只有既有“走自己的路”的坚定信念,又有“常问路”的虚心精神,才能走好自己的人生之路。
当然,材料作文审题立意的方法还有很多,而各种方法也并非孤立的,可能互有交叉。若在具体的审题立意过程中能灵活地综合运用,效果则更佳。
示例
①佛罗伦萨诗人但丁的名言:“走自己的路,让别人去说吧!”
②波兰谚语:“常问路的人不会迷失方向。”
材料①“走自己的路”强调要有坚定的信念;材料②“常问路的人不会迷失方向”是讲走路时要有虚心求教的精神,要听从他人指导。两者孰是孰非?两者具有很强的`互补性,若将两者结合起来,就既全面又合理。因此,可以提炼这样的观点:只有既有“走自己的路”的坚定信念,又有“常问路”的虚心精神,才能走好自己的人生之路。
当然,材料作文审题立意的方法还有很多,而各种方法也并非孤立的,可能互有交叉。若在具体的审题立意过程中能灵活地综合运用,效果则更佳。
这是材料作文最为常用且最为稳妥的审题立意方法。如果能准确地领悟材料的中心,并以之为文章的主旨,那么,所写文章定能既切题又有深度。
示例
《华尔街日报》报道:海湾战争前夕,该报记者到驻沙特的`美国陆战队采访时,惊奇地发现,在沙漠的帐篷里,待命的军舰上,美国的官兵正在争相研读中国的《孙子兵法》。陆战队司令格雷将军指令:《孙子兵法》为陆战队官兵必读书。
综观材料,我们不难发现,美国官兵之所以学*中国的《孙子兵法》,是用以指导他们的战术,材料的主旨十分清晰,据此,可提炼“他山之石可以攻玉”之类的观点。当然,这是显性的;从隐性看,外国人尚且如此重视对我国文化遗产的学*,那么作为中国人的我们,则更应“重视祖国文化遗产的传承”,而这在某种意义上更具深意。