- 类似于中国网络有堵墙一样,封装就好比那堵墙,但是反射中的一个方法,就是那个凿洞的锤子:
titleField.setAccessible(true);
证明:实例化对象增加了一个新的方法-----反射:
package cn.dujiang.demo;
import java.lang.reflect.Field;
/**
* public class TestDemo {
public static void main(String[] args) throws Exception {
Class<?> cls = Class.forName("cn.dujiang.next.Food") ;
Object obj = cls.newInstance();//必须给出实例化对象
Field titleField = cls.getDeclaredField("title") ;
titleField.set(obj,"鱼香肉丝"); //相当于,Food类对象.title = "鱼香肉丝";
System.out.println(titleField.get(obj));//相当于,Food类对象.title
}
}
以上程序会报错。但是可以解决 titleField.setAccessible(true);//封装取消了
* @author Dujiang
*
*/
public class TestDemo {
public static void main(String[] args) throws Exception {
Class<?> cls = Class.forName("cn.dujiang.next.Food") ;
Object obj = cls.newInstance();//必须给出实例化对象
Field titleField = cls.getDeclaredField("title") ;
titleField.setAccessible(true);//封装取消了
titleField.set(obj,"鱼香肉丝"); //相当于,Food类对象.title = "鱼香肉丝";
System.out.println(titleField.get(obj));//相当于,Food类对象.title
}
}
很多人都和我说过,千万不要用汉化版的Eclipse等编程工具,你可能看到有的教学视频中用汉化版,很强,你也想试试,其实这完全是在给自己挖坑,不适合开发的,建议所有人,本着国际化原则,用最新英文原版的eclipse
点击查看更多内容
9人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦