这两种输出方式有什么区别???

这两种输出方式有什么区别???

http://img1.sycdn.imooc.com//climg/5c862a8a0001a87b12660701.jpg

package com.imooc.reflect.test;

import java.lang.reflect.Field;

import org.junit.Test;

public class FiledTest {
    @Test
    //测试公有属性
    public void demo1() throws Exception {
    	//获得Class
    	Class class1=Class.forName("com.imooc.reflect.test.Person");
    	//获得属性
    	Field field = class1.getField("name");
    	//操作属性: p.name=" ";
    	Person p=(Person)class1.newInstance();
    	field.set(p,"李四");//p.name=" ";
    
    	Object obj=field.get(p);
    	System.out.println(obj);
    }
    
    @Test 
    //测试私有属性
    public void demo2() throws Exception {
    	//获得Class
    	Class class1=Class.forName("com.imooc.reflect.test.Person");
    	//获得私有属性
    	Field field = class1.getDeclaredField("sex");
    	//操作属性
    	Person p=(Person)class1.newInstance();
    	//私有属性,需要设置一个可访问权限:
    	field.setAccessible(true);
    	field.set(p, "男");
    	//获取值
    	Object obj=field.get(p);
    	System.out.println(obj);
    	
    	System.out.println(p);
    	
    	
    }
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
chrismorgen 2019-03-11 19:23:02

你好同学,System.out.println(obj);输出的是性别,而System.out.println(p);输出的是person实体了,这就是两种输出方式的区别哦,祝学习愉快~

  • 提问者 慕羲 #1
    person是对象,对象的实体怎么理解?还有就是怎么理解实例化?
    2019-03-12 08:32:00
  • chrismorgen 回复 提问者 慕羲 #2
    Person类就是实体类,实例化你可以这么理解,Person person = new Person();就是实例化过程,而person就是实例化对象,通过person就可以调用Person类中的属性及方法,这就是实例化。祝学习愉快~
    2019-03-12 11:22:55
  • 提问者 慕羲 回复 chrismorgen #3
    好的。。。。。。
    2019-03-12 11:34:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师