package com.zj.reflect;
import java.lang.reflect.Field;
/**
* 使用反射改变private成员变量的值
* @author zhengjiong
* time:2011-9-17 22:03:06
*/
public class ReflectTest6
{
public static void main(String[] args) throws Exception
{
Private2 p = new Private2();
Class<?> classType = p.getClass();
//getDeclaredField可以获得private方法而getMethod不行
Field field = classType.getDeclaredField("name");
field.setAccessible(true);//压制java访问控制检查
field.set(p, "lidsi");
System.out.println(field.get(p));
}
}
class Private2{
private String name = "zhangsan";
private String getName(){
return name;
}
}
分享到:
相关推荐
反射的核心在于能够将类中的不同组成部分(如构造方法、方法、成员变量等)映射为相应的对象,从而可以使用这些对象来执行相应的行为。例如,通过反射技术,我们可以动态地调用一个类的方法,甚至可以调用那些被声明...
这一章主要介绍了Java的基础知识,包括环境搭建、简单的 HelloWorld 程序以及Java的基本语法,如变量、数据类型、运算符、流程控制(if-else、switch、for、while)等。通过这些练习题,学习者可以快速掌握Java编程...
- **访问修饰符**:private, default, protected, public,控制类成员的可见性。 - **静态(static)**:用于创建类级别的变量和方法,独立于类的任何实例。 - **this关键字**:指向当前对象的引用,用于区分实例...
在本实例中,可能包含一个类,这个类有一些私有的成员变量,然后通过公有的getter和setter方法来访问这些变量。这样,类的内部实现细节对外部代码隐藏,增强了代码的可维护性和可扩展性。 接下来,我们来看反射。...
- 静态修饰符,用于修饰类的成员(变量和方法),静态成员属于类,不依赖于类的实例。 - 静态块:用于初始化静态变量。 9. 异常处理 - try-catch-finally:捕获并处理运行时异常,保证代码的健壮性。 - throws ...
1. **Java基础知识**:SCJP练习题中会涉及到Java的基本语法,如变量声明、数据类型、运算符、流程控制语句(if-else、switch、for、while等)。此外,还包括面向对象的基础概念,如封装、继承、多态。 2. **类与...
书中会涉及类的定义、构造函数、成员变量和方法、访问修饰符(public、private、protected)以及静态成员的使用。 3. **接口与抽象类**:Java允许使用接口和抽象类来实现多继承,这是单继承机制下扩展功能的重要...
5. **类与对象**:理解面向对象编程的基本概念,如类的定义、对象的创建、成员变量和局部变量的区别、构造函数的使用,以及访问修饰符(public、private、protected、默认)的含义。 6. **继承(Inheritance)**:...
- **变量**:声明并存储数据的容器,有局部变量、成员变量(实例变量和静态变量)之分。 - **运算符**:包括算术、比较、逻辑、位操作、赋值等各类运算符。 - **流程控制**:如if条件语句、switch选择语句、for、...
- 封装:掌握封装的实现,包括私有化成员变量和提供公共访问器方法。 - 构造器:了解构造函数的作用,包括默认构造器和自定义构造器。 3. **异常处理** - 异常概述:理解异常的分类,如检查异常和运行时异常,...
Java作为一门广泛使用的编程语言,对于...以上只是"Java入门练习50题"的部分内容,实际练习可能还会涵盖更多主题,如枚举、反射、注解等。通过解决这些题目,你可以逐步建立起对Java语言的全面认识,并提升编程能力。
- 反射:动态获取类信息,创建对象,调用方法,修改字段值。 - 注解:了解元数据概念,使用标准注解和自定义注解。 9. **设计模式** - 常见设计模式:工厂模式、单例模式、观察者模式等,理解其原理和应用场景。...
- **访问修饰符** 如public、protected、private用于控制成员的可见性。 ### 7. 面向对象的分析与设计 - **对象模型** 是基于现实世界中的对象来构建的。 - **类之间的关系** 如关联、聚合、组合等,描述了不同类...
- `private`: 只能在声明它的类中访问。 - `protected`: 可以在同一包内及不同包的子类中访问。 - `friendly`(包级私有): 只能在同一包内的类中访问。 - 没有修饰符: 默认为`friendly`。 2. **ArrayList和...
145 8.2 修饰符 146 8.2.1 public:声明成员变量为公共类型 146 8.2.2 private:声明成员变量为私有类型 147 8.2.3 default:声明成员变量为默认类型 148 8.2.4 protected:声明成员变量为保护类型 149 8.3 成员变量...
1. **基础语法**:练习题可能包括变量声明、数据类型(如整型、浮点型、字符型、布尔型)、运算符(算术、比较、逻辑、赋值等)、流程控制(if-else、switch-case、for、while、do-while循环)。 2. **类与对象**:...
- 访问修饰符(public、private、protected、默认)控制成员的可见性。 6. **异常处理** - 异常是程序运行时出现的错误,Java通过try-catch-finally结构进行捕获和处理。 - 自定义异常类可以更好地适应特定场景...