老师我想问一个问题
来源:3-1 Class类的概述和使用
彤宝贝
2019-10-14 10:49:08
package com.ht.reflect.test; import org.junit.Test; /** * * @author 24516 * */ public class ClassTest{ /** *获得class对象 *1.通过类名.class属性 *2.通过对象.getClass() *3.通过Class.forName() */ @Test public void test1() { //通过类名.class Class ca = Person.class; //ca.eat(); //通过对象.getClass(); Person person = new Person(); Class cs = person.getClass(); person.eat(); //3.通过Class.forName() try { Class sc = Class.forName("com.ht.reflect.test.Person"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
package com.ht.reflect.test; public class Person { private String name; private String sex; public Person(String name, String sex) { super(); this.name = name; this.sex = sex; } public Person() { super(); // TODO Auto-generated constructor stub } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public void eat() { System.out.println("吃...."); } }
老师为什么Class的对象不能调用到Person类中的eat()方法,只有Person的对象可以调用,但是调用的时候出错了,老师能解释一下为什么吗?
1回答
好帮手慕阿满
2019-10-14
同学你好,Class类中不存在eat()方法,所以不能调用,Person类中有eat()方法,所以可以调用。另外Person类调用eat()方法可以正常运行,并没有报错,如:
建议同学再方法名上,点击右键,选择Run As Test再试试。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题