- 浏览: 461114 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (538)
- C/C++ Primer (69)
- Objective-C Primer (102)
- Python Primer (19)
- JavaScript Primer (1)
- Java Primer (37)
- PHP Primer (17)
- 泛 Linux (37)
- Shell Script (21)
- APUE (21)
- UNP__1&2 (19)
- NetWork (7)
- Oracle周边 (38)
- Mysql里边 (6)
- Windows技 (9)
- 简单算法 & 数据结构 (14)
- 设计模式 (6)
- GTK历程 (12)
- 工具使用 (25)
- 杂事 (23)
- 一些概念 (17)
- Web方面 (10)
- myCodeTools (9)
- ^未 竟$ (13)
- 硬件通信 (2)
- Games (1)
最新评论
天下文章一大抄,看了好几个,连抄的水准都没有,难看死了
下面这两个比较好:
http://www.blogjava.net/kingace/archive/2009/01/20/207356.html
http://canofy.iteye.com/blog/359565
好奇就拿了String Class来测试,都是false的属性;
看到隐藏类型:class [C ,应该类似Char 类型;
offset、count都比较好理解,hash的次数?;
serialVersionUID:
解释:http://tbase.itpub.net/post/4931/42269
serialPersistentFields:
解释:http://www.blogjava.net/NewMoring/articles/278195.html
CASE_INSENSITIVE_ORDER:
解释:http://lavasoft.blog.51cto.com/62575/68380
下面这两个比较好:
http://www.blogjava.net/kingace/archive/2009/01/20/207356.html
http://canofy.iteye.com/blog/359565
import java.lang.reflect.Field; public class TestD { public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException { String str = new String("abcde"); Field fs[] = String.class.getDeclaredFields(); for (int i = 0; i < fs.length; ++i) { System.out.println(fs[i].getName()); System.out.println(fs[i].getType()); System.out.println(fs[i].isAccessible()); fs[i].setAccessible(true); System.out.println(fs[i].get(str)); //破坏了,设回来是个好习惯,但原本就是true的被改成false就不好啦,这里不作判断、处理 fs[i].setAccessible(false); System.out.println(); } }
value class [C false [C@119298d offset int false 0 count int false 5 hash int false 0 serialVersionUID long false -6849794470754667710 serialPersistentFields class [Ljava.io.ObjectStreamField; false [Ljava.io.ObjectStreamField;@1bab50a CASE_INSENSITIVE_ORDER interface java.util.Comparator false java.lang.String$CaseInsensitiveComparator@c3c749
好奇就拿了String Class来测试,都是false的属性;
看到隐藏类型:class [C ,应该类似Char 类型;
offset、count都比较好理解,hash的次数?;
serialVersionUID:
解释:http://tbase.itpub.net/post/4931/42269
serialPersistentFields:
解释:http://www.blogjava.net/NewMoring/articles/278195.html
CASE_INSENSITIVE_ORDER:
解释:http://lavasoft.blog.51cto.com/62575/68380
发表评论
-
MD5
2011-03-10 17:43 0import java.security.Messag ... -
String.format
2011-03-10 14:32 594对应C中的snprintf(...); public st ... -
Android Activity(窗口)的一生
2010-12-28 14:43 824http://flysnow.iteye.com/blog/ ... -
Android 项目基础之XML
2010-12-28 11:43 666res.layout.main.xml <?x ... -
Android 开发环境搭建
2010-12-28 10:58 926http://7691432.blog.163.com/blo ... -
平台独立的换行符
2010-10-20 09:07 832http://java-admin.iteye.com/blo ... -
Swing JTable资料
2010-09-25 14:31 676http://www.cnblogs.com/keweixia ... -
Swing Buttion Image
2010-09-25 11:18 658http://www.blogjava.net/ruislan ... -
Swing TextField 加强
2010-09-25 11:18 589http://www.blogjava.net/ruislan ... -
Java获取系统信息
2010-09-15 16:07 1026http://mao1985.iteye.com/blog/1 ... -
Java call windows command
2010-09-15 14:33 802http://winter8.iteye.com/blog/4 ... -
Java Operate Excel
2010-09-15 10:12 951使用例子 http://www.iteye.com/topic ... -
Java关键字instanceof
2010-09-14 17:58 683对象比较 http://www.cnblogs.com/ro ... -
jar相关
2010-09-03 18:10 765test |--MANIFEST.MF |--com ... -
未竟IAdaptable
2010-09-02 11:00 644不知道是什么,纯属留脚印记录下。 -
Swing_JfreeChart资料
2010-08-31 16:30 615http://ltc603.iteye.com/blog/30 ... -
一些进阶类记录
2010-08-31 11:11 613java.util.Scanner 一个可以使用正则表达式来分 ... -
System类
2010-08-31 09:31 654System.getProperty()方法可以获取的值:(应 ... -
JNI简介
2010-08-30 14:42 507http://www.iteye.com/topic/2957 ... -
java读写文件大全
2010-08-30 11:37 702可惜啊!代码没有排版的。。。 http://blog.csdn ...
相关推荐
在编程领域,尤其是在面向对象编程中,访问控制是至关重要的概念。它允许我们定义类的内部结构,并对外部代码暴露有限的接口。然而,在某些情况下,我们可能需要访问类的非公有字段(private或protected)和属性。这...
要获取类的所有属性(包括public、private、protected以及默认访问权限的属性),可以使用以下代码: ```java Class<?> clazz = Class.forName("全限定类名"); Field[] fields = clazz.getDeclaredFields(); // ...
### setAccessible()方法是否破坏了Java的访问规则 在Java编程语言中,为了保护类的内部状态不被外部代码随意更改,通常会采用封装技术,将类中的成员变量声明为私有(private),并通过公有(public)的方法来提供访问...
例如,`Method`类的`setAccessible(true)`方法可以将某个方法或字段设置为可访问,从而可以调用私有方法或修改私有属性。这在测试、调试或者特定场景下很有用,但也要谨慎使用,因为它破坏了封装性,可能引入安全...
在C#编程中,为了更好地符合面向对象的设计原则,并充分利用C#语言提供的强大功能,开发人员应该摒弃直接使用公有数据成员的做法,转而使用属性来管理类中的数据。本章节将详细介绍为何属性比直接使用公有数据成员更...
3. **验证逻辑**:在设置属性值时,可以在set方法中加入验证逻辑,确保数据的有效性和一致性。 4. **懒加载**:在属性首次被访问时,可以通过get方法动态计算值,实现懒加载机制,节省资源。 #### 六、结论 综上所...
这样增加了代码的安全性,因为可以控制属性值的修改。 属性还有其他形式,比如只读属性(readonly property),只有`get`访问器,没有`set`访问器。这用于表示一旦设置后就不能更改的值: ```csharp private ...
通过遍历类属性,`yyModel`能够自动将JSON数据映射到Swift对象的属性上,极大地简化了开发工作。 总的来说,尽管Swift不直接支持反射,但通过Objective-C runtime,我们依然可以实现对类属性的遍历和操作。然而,...
尽管这种做法并不推荐,因为可能破坏对象的状态并导致不可预知的结果,但在某些特殊情况下可能会用到这种方法。 考虑以下类`MyClass`,其中所有成员均为私有或受保护的: ```csharp class MyClass { private ...
通过这种方式,我们可以隐藏字段的直接访问,防止外部代码破坏对象的状态,同时提供了一种安全的方式来修改数据。 属性的一个显著优点是提高了代码的封装性和安全性。然而,它们可能会增加代码量,尤其是当需要实现...
这里可能有构造函数(用于初始化对象)、析构函数(清理资源)、获取属性值的getter函数、设置属性值的setter函数,以及其他辅助函数,如打印学生信息等。 4. **构造函数(Constructor)**: - 当创建一个新对象时...
2. 访问和修改属性:使用Field对象可以获取类的字段信息,包括读取和设置字段值。 3. 调用方法:Method对象代表类的方法,可以用来动态调用方法。 4. 检查类信息:获取类的构造器、接口、父类、注解等信息。 5. 动态...
备忘录模式是一种在软件工程领域广泛使用的设计模式,它属于行为设计模式,主要目的是为了在不破坏对象封装性的前提下,保存一个对象的内部状态,以便在需要时能够恢复到之前的状态。这个模式通常应用于撤销/重做...
1. **获取对象的属性**: 在Java中,通过反射可以获取对象的属性。在示例代码中,`getProperty`方法展示了如何做到这一点。首先,通过`owner.getClass()`获取对象的`Class`对象,这代表了运行时的对象类型。然后,...
- `getField(String name)`:获取public字段,`set.Field(String name)`和`get.Field(String name)`用于读写字段值。 - `getDeclaredField(String name)`:获取所有字段,包括private和其他非public字段,同样有`...
在这个例子中,`private_attribute`属性对外提供了一个安全的接口,确保值始终为字符串类型。 ### 5. 结论 在Python中,私有属性和私有方法主要用于内部逻辑,防止外部代码的不适当干预。虽然Python没有严格的访问...
在C++中,通过访问控制修饰符(如public、private、protected)实现封装,保护数据不被非法访问。 2. 继承性:继承允许创建新的类(派生类)基于现有类(基类),从而实现代码重用。在C++中,基类的公共和受保护...
- 之后可以通过`getField().get(obj)`获取属性值,或者通过`getField().set(obj, value)`设置属性值。 ```java Field field = clazz.getDeclaredField("myPrivateField"); field.setAccessible(true); String ...