网友NO.202188
Java反射如何有效的修改final属性值详解
前言 以前写过一篇 Java 反射修改 final 属性值,本文将在这里重新温习一下Java反射如何有效的修改final属性值,下面话不多说了,来一起看看详细的介绍: 假设有个类 class Person { public final String name = "Mike";} 这里声明 name 为非静态的属性只是为了说明反射修改 final 属性无关乎静态不静态,静态只是表现在它是一个类属性,在一个类加载器空间只会有一份拷贝,仅此而已。 创建一个通用方法进行反射修改属性值 public static void modify(Object object, String fieldName, Object newFieldValue) throws Exception { Field field = object.getClass().getDeclaredField(fieldName); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); //Field 的 modifiers 是私有的 modifiersField.setInt(field, field.getModifiers() if(!field.isAccessible()) { field.setAccessible(true); } field.set(object, newFieldValue);} 调用 modify(..……
网友NO.133575
java中final修饰符的使用方法
本文为大家分享了java中final修饰符的使用,供大家参考,具体内容如下 1.final修饰符的用法: final可以修饰变量,被final修饰的变量被赋初始值之后,不能对它重新赋值。 final可以修饰方法,被final修饰的方法不能被重写。 final可以修饰类,被final修饰的类不能够被继承。 上面的这些“语法口诀”对真正掌握final修饰符的用法依然是不够的。 2.final修饰的变量: 被final修饰的实例变量必须显示指定初始值,而且只能在如下三个位置指定初始值: 定义final实例变量时指定初始值。 在非静态初始化块中为final实例变量指定初始值。 在构造方法中为final实例变量指定初始值。 package objectStudy;public class FinalInstanceVaribaleTest { final int var1 = 1;//定义final实例变量时指定初始值。 final int var2; final int var3; //在非静态初始化块中为final实例变量指定初始值。 { var2 = 2; } // 在……
网友NO.577006
JFinal极速开发框架使用笔记分享
记录第一次使用JFinal,从简单的框架搭建到增删改查,从自带的方法到正常框架习惯的使用方式。 JFinal官网:http://www.jfinal.com/ JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率。 JFinal有如下主要特点: MVC架构,设计精巧,使用简单 遵循COC原则,零配置,无xml 独创Db + Record模式,灵活便利 ActiveRecord支持,使数据库开发极致快速 自动加载修改后的java文件,开发过程中无需重启web server AOP支持,拦截器配置灵活,功能强大 Plugin体系结构,扩展性强 多视图支持,支持FreeMarker、JSP、Velocity 强大的Validator后端校验功能 功能齐全,拥有struts2的绝大部分功能 体积小仅632K,且无第三方依赖 例子: 本人用的……
网友NO.857306
深入了解final在java中的应用
final在java中并不常用,然而它却为我们提供了诸如在C语言中定义常量的功能,不仅如此,final还可以让你控制你的成员、方法或者是一个类是否可被覆写或继续等功能,这些特点使final在Java中拥有了一个不可或缺的地位,也是学习Java时必须要知道和把握的要害字之一。 final成员 当你在类中定义变量时,在其前面加上final要害字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值。下面这段代码演示了这一点: import java.util.List;import j……
网友NO.581776
jfinal与bootstrap的登出实战详解
前言:本篇推出“jfinal与bootstrap的登出实战”,旨在介绍如果通过a标签弹出登出确认框,然后发送退出请求到jfinal,然后再刷新页面的做法。主要难点在于1.如果通过a标签的内容弹出登出确认框,2.如何通过a标签刷新对应弹出的页面。 前端技术 1.构建a标签 复制代码 代码如下: a href="${ctx}/mem/logout" target="ajaxTodo" callback="ajaxDone" atitle="你确定要退出吗?" id="user_login_out" 退出/a 注意: 1. target=”ajaxTodo”,指定a标签要通过ajax发起请求。 2. callback=”ajaxDone”,指定a标签回调函数 3. atitle=”你确定要退出吗?”,指定确认信息 2.初始化a标签ajax事件 function initUI(_box) { var $p = $(_box || document); // dwz.ajax.js if ($.fn.ajaxTodo) { $("a[target=ajaxTodo]", $p).ajaxTodo(); }} 注意: 1. 页面加载完成后执行initUI方法,使target为ajaxTodo的a标签具有指定的ajaxTodo方法。 3.a标签的ajax请求 functi……
网友NO.250432
JFinal实现伪静态的方法
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :) JFinal框架可以实现伪静态,需要在configHandler中设置。 JFinal 可以用 Handler 完全自定义路由规则,目前 JFinal 采用的路由规则兼顾了简单、高效、可用性方面的考虑。 JFinal的configHandler: 在configHandler中设置: @Override public void configHandler(Handlers me) { //伪静态,请求的后缀名 me.add(new FakeStaticHandler(".html")); //获得项目路径 me.add(new ContextPathHandler("ctx")); } 然后在正常的请求中加上.html 比如: li a href="casepage" rel="external nofollow" p业务案例/p Case /a /li 改为: li a href="casepage.html" rel="external nofollow" p业务案例/p Case /a ……