黑马程序员技术交流社区

标题: 小白提问题 [打印本页]

作者: 取个名字好难    时间: 2017-9-11 12:09
标题: 小白提问题
大家好;
            想请教一下以下问题:
            1.如图中代码,学生类已经定义了5个成员变量,但是在测试类中有两个成员变量无法用setXxx方法;
            2.同一个项目中,不同的包下能否存在相同名字的类?
谢谢!!

QQ截图20170911120026.png (226.12 KB, 下载次数: 36)

图中的学生类已经定义了5个成员变量,但是在测试类中有两个成员变量无法用setXxx方法 ...

图中的学生类已经定义了5个成员变量,但是在测试类中有两个成员变量无法用setXxx方法 ...

作者: a_fi    时间: 2017-9-11 13:15
不能有相同名字的类

作者: 取个名字好难    时间: 2017-9-11 18:10
a_fi 发表于 2017-9-11 13:15
不能有相同名字的类

同一个项目下,不同的包也不能存在同名字的类是吗?
作者: Oliverwqcwrw    时间: 2017-9-12 11:15
不同包可以有相同的类
作者: 取个名字好难    时间: 2017-9-12 22:22
Oliverwqcwrw 发表于 2017-9-12 11:15
不同包可以有相同的类

是的 ,但是想不明白为什么会出现以上的问题,有些成员变量用不了
作者: Oliverwqcwrw    时间: 2017-9-13 09:25
取个名字好难 发表于 2017-9-12 22:22
是的 ,但是想不明白为什么会出现以上的问题,有些成员变量用不了

是不是导包导错了
作者: 低调逆袭    时间: 2017-9-14 23:37
一个包不能有相同名的两个类,这个学生管理系统如果是同一个包的学生类和测试类应该不会有这个问题,你看一下是不是学生类和测试类不同包呢
作者: 取个名字好难    时间: 2017-9-15 22:46
Oliverwqcwrw 发表于 2017-9-13 09:25
是不是导包导错了

您说的导包是指哪个?好像我测试类就集合和键盘录入需要导包的呀,难道是我学生类还没有保存,就创建了集合对象,然后导包,这个包不是我学生类的包吗?这个有没有关系
作者: 取个名字好难    时间: 2017-9-15 22:48
低调逆袭 发表于 2017-9-14 23:37
一个包不能有相同名的两个类,这个学生管理系统如果是同一个包的学生类和测试类应该不会有这个问题,你看一下 ...

我一个包就只有有个学生类的,难道我导到了其他包下的学生类吗?还能导到不同包下的学生类?
作者: Oliverwqcwrw    时间: 2017-9-16 08:23
取个名字好难 发表于 2017-9-15 22:46
您说的导包是指哪个?好像我测试类就集合和键盘录入需要导包的呀,难道是我学生类还没有保存,就创建了集合 ...

我前边听你说你在不同的包下有相同的类,如果你导的包不是你要用的那个类的包就会报错
作者: 取个名字好难    时间: 2017-9-16 20:37
Oliverwqcwrw 发表于 2017-9-16 08:23
我前边听你说你在不同的包下有相同的类,如果你导的包不是你要用的那个类的包就会报错 ...

明白 了,谢谢您
作者: 小灰辉    时间: 2017-9-16 22:05
  先说第一个问题,你看看你的测试类在调用students.setAge();这个方法的时候传递的是什么值,我怀疑你传入的是int类型的值。而你在定义students类的是,setAge这个方法接收的是一个String类型的值,这肯定是不对的,所以报错。
第二个问题:同一个项目下,不同的包是可以创建相同的类名的。因为你的包名不一致,所以对应的.class文件位置也不同。

作者: 取个名字好难    时间: 2017-9-16 23:24
小灰辉 发表于 2017-9-16 22:05
先说第一个问题,你看看你的测试类在调用students.setAge();这个方法的时候传递的是什么值,我怀疑你传 ...

age传入的数据类型也是String数据类型的,我同一个项目下,其他的包中也有一个Student类的,类中只定义了id,name,height,并没有定义age和sex,但在这个测试类中,就只有age和sex会报错说没有定义在同包下的Student类中,感觉很奇异
作者: battlexing    时间: 2017-9-17 19:20
应该是导错包了
作者: 取个名字好难    时间: 2017-9-17 20:59
battlexing 发表于 2017-9-17 19:20
应该是导错包了

对的,我觉得也是
作者: 小灰辉    时间: 2017-9-17 21:24
取个名字好难 发表于 2017-9-16 23:24
age传入的数据类型也是String数据类型的,我同一个项目下,其他的包中也有一个Student类的,类中只定义了 ...

那你在测试类中把这个报错的students类,删除,重新导入students类试试。把光标放在students类上按住ctrl键,看看进的是不是你定义了age,sex 那个students类。
作者: 取个名字好难    时间: 2017-9-17 23:02
小灰辉 发表于 2017-9-17 21:24
那你在测试类中把这个报错的students类,删除,重新导入students类试试。把光标放在students类上按住ctrl ...

好的,我试试,谢谢您
作者: 風中雨来    时间: 2017-9-20 16:43
不同包下类名可以相同




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2