学习啦>论文大全>论文写作指导>

论文正文页码怎么设置页码

家文分享

  论文是描述学术研究成果进行学术交流的一种工具,那论文中的页码怎么设置呢?下面小编给大家分享一些论文正文页码怎么设置页码的方法,大家快来跟小编一起欣赏吧。

  论文正文页码怎么设置页码

  一、 在菜单栏选择插入,进入页脚选项,在弹出的窗口点击编辑页脚

  二、接着在菜单栏会出现设计这一选项,点击页码,在弹出的窗口选择页面底端,然后出现底端各种样式,一般选择居中的页码也就是选择普通数字2

  三、点击普通数字2选项

  四、有时我们的毕业论文需要用到其他的页码,而非普通的阿拉伯数字,这时就需要在页码选项点击设置页码格式选项

  五、在页码格式窗口,选择编号格式,起始页码,点击确定.

  六、最后在页脚就出现数字

  关于java的论文范文

  浅析java代理模式

  摘 要:本文基于JAVA语言对静态和动态代理做出了分析,并且进行了实现,对以后理解JAVA的JDK和 Cglib包提供的代理服务打下基础。

  关键词:设计模式;静态代理;动态代理

  中图分类号:TP393.02

  代理模式是一个非常重要的设计模式,不但我们自己在设计程序的时候经常用到,很多著名的框架如Spring、Hibernate等都用到了代理模式,因此理解并且学会灵活使用代理模式就非常必要。

  代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。简单地说,代理类具有和被代理类一样的方法,调用者通过调用代理类的方法间接调用了被代理类相同名字的方法,对于调用者来说,它不用察觉自己调用的是代理类的方法,感觉上仍然在调用被代理类的方法。对于被代理类来说,代理类可以在调用其方法前后做其他工作,比如写日志等。按照代理的创建时期,代理类可以分为两种:静态代理类:在程序运行前,由程序员创建再编译成.class文件;动态代理类:在程序运行时,运用反射机制动态创建而成。

  1 静态代理

  静态代理类:由程序员创建或由特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。静态代理原理就是聚合+多态。

  1.1 静态代理

  静态代理模式有三个角色:抽象接口、代理类、被代理类。其它类通过访问代理类来访问被代理类。

  1.2 静态代理的实现

  (1)建一个抽象接口

  public interface Subject {

  public void print(String words);

  }

  (2)建一个被代理类,需要实现抽象接口

  public class RealSubject implements Subject{

  public void print(String words) {

  System.out.println("被代理人郭襄说:"+words);

  }

  }

  (3)建一个代理类,需要实现抽象接口

  public class ProxySubjectimplements Subject{

  private Subject s;

  public ProxySubject(Subject s){

  this.s=s;

  }

  public void print(String words) {

  System.out.println("我是代理,我名字叫黄蓉!");

  s.print(words);

  System.out.println("黄蓉代理完毕!");

  }

  }

  (4)建一个客户端程序测试,关键代码如下:

  Subject sub1=new RealSubject();

  Subject sub2=new ProxySubject(sub1);

  sub2.print("你好!");

  运行输出:我是代理,我的名字叫黄蓉!;被代理的人郭襄说:你好!;黄蓉代理完毕。从输出可以看出,在真实对象的print方法被调用前后,代理对象都做了其他操作。对于客户端来说,它只对接口Subject编程,提高了代码的可维护和可升级性。

  2 动态代理

  动态代理类:就是其代理类是在程序运行时,运用反射机制动态创建而成,并不需要像静态代理那样子事先要编写好代理类。如果有多重代理,就要写多个代理类,还有如果一个类有多个方法都需要代理的话,就更加使得代码很臃肿,不易维护,这个时候就需要动态地来生成代理类,这就是动态代理。

  2.1 动态代理

  动态代理模式至少要有6个角色:(1)抽象接口;(2)被代理类;(3)处理器接口;(4)自定义的处理器(实现处理器接口);(5)生成成代理类的类;(6)代理类(由第5点的类通过反射技术自动生成)。

  2.2 动态代理的实现

  (1)首先建一个抽象接口

  public interface Subject {

  public void print();

  }

  (2)建一个被代理类,需要实现Subject接口

  public class RealSubject implements Subject{

  publicvoid print() {

  System.out.println("被代理人郭襄");

  }

  }

  (3)建一个处理接口

  public interface InvocationHandler {

  public Object invoke(Object proxy, Method method)throws Exception;

  }

  (4)建一个用户自定义的处理器,需要实现处理接口

  在invoke()方法里写上被代理类的方法调用前后要进行的动作。这个invoke()方法我们不用直接调用,是让将来自动生成的代理类去调用的。invoke()方法关键代码如下:

  System.out.println("我是代理人郭靖,开始代理");

  method.invoke(delegate);

  System.out.println("我是代理人郭靖,代理完毕");   (5)建生成代理类的类,主要是运用java的反射技术和jdk的编译工具生成代理类对象并加载到内存里面,代码比较复杂,这里不再详细描述。

  (6)编写测试客户端,关键代码如下

  Subject sub1=newRealSubject();

  LogHandler hander=newLogHandler();

  Subject sub2=(Subject)hander.bind(sub1);

  sub2.print();

  输出结果:我是代理人郭靖;开始代理;被代理的人郭襄;我是代理人郭靖,代理完毕。从结果可以看出,代理成功,并且自动生成了代理类$Proxy.java文件,并成功实现了代理的效果。

  2.3 动态代理的优势

  动态代理的明显好处上面就体现出来了:对于同一个对象的所有方法,如果对所有方法都是相同的处理逻辑,只需要写一次处理逻辑就行;对于同一个抽象接口,不同的对象,如果对所有对象的相同名字的方法具有相同的处理逻辑(同一个对象,不同方法的处理逻辑可以不同),也只需要写一次处理逻辑就行,只需要写一次处理器类即可;如果某一天,那个方法的处理逻辑被改变了,只需要改动一次即可,如果是静态代理,每个代理类下的相对应的方法的处理逻辑都要改动一次,维护非常困难。

  3 结束语

  代理模式可以运用在如下这些方面:(1)用于在程序调用前后记录相关日志及其他附加操作;(2)用于某些操作前的安全及权限的验证等保护操作;(3)用于创建对象,也叫虚代理,对于某些大对象,在真正需要它的时候,运用代理模式去创建;(4)使得同一对象被多个客户同时访问不产生冲突。

  我们可以灵活使用代理模式,配合其他模式的使用,如工厂模式,使我们的程序更加高内聚、低耦合,而且非常优雅。

  参考文献:

  [1]陈丁山.设计模式的研究与应用[J].电脑知识与技术(学术交流),2007(23).

  [2]周凤丽,邵平凡,万程鹏.设计模式在B/S开发中的应用[J].科技创业月刊,2005(12).

  作者简介:黄冲(1986.07-),男,广东湛江人,本科,助理工程师,研究方向:计算机。

  工作单位:广东金融学院,广州 510521

  
看了“论文正文页码怎么设置页码”的人还看:

1.毕业论文怎么从正文开始设置页码

2.论文正文页码怎么设置

3.论文怎么从正文开始放页码

4.论文的页码怎样设置

5.Word怎样从正文开始设置页眉页码

    2576082