zoukankan      html  css  js  c++  java
  • 如何修改对象私有字段的值

    通过反射来修改,反射还能实现swap(int a,int b)

    package zhengze;
    
    import java.lang.reflect.Field;
    import java.util.logging.FileHandler;
    
    public class Person {
        private int id;
        private String name;
        private int sex;
        Person(int a,String b, int c)
        {
            id = a;
            name = b;
            sex = c;
        }
        public void setName(String name) {
            this.name = name;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public void setSex(int sex) {
            this.sex = sex;
        }
    
        public String getName() {
            return name;
        }
    
        public int getId() {
            return id;
        }
    
        public int getSex() {
            return sex;
        }
    
        @Override
        public String toString() {
            return super.toString()+" "+name;
        }
    
        public static void main(String[] args) throws Exception{
            Person person = new Person(1,"liy",1);
            Class c = person.getClass();
            System.out.println(c);
            Field f = c.getDeclaredField("name");
            System.out.println(f.getName());
            f.setAccessible(true);
            f.set(person,"liyming");
            System.out.println(person);
        }
    }
    诸位正值青春年少,一定恣情放纵,贪恋香艳梅施之情,喜欢风流雅韵之事,洒脱木拘。然而诸位可知,草上露一碰即落,竹上霜一触即溶,此种风情难于长久。
  • 相关阅读:
    Java面经
    关于MarkDown语法
    JQuery
    Filter & Listener
    JSP & EL & JSTL
    Cookie & Session
    Servlet & HTTP
    Tomcat
    XML
    BootStrap
  • 原文地址:https://www.cnblogs.com/shilipojianshen/p/13023813.html
Copyright © 2011-2022 走看看