黑马程序员技术交流社区

标题: 构造函数的疑问 [打印本页]

作者: 李健_8    时间: 2012-10-9 18:51
标题: 构造函数的疑问
本帖最后由 李健_8 于 2012-10-9 21:07 编辑

class Person1{
private String name;
Person1(String name){
  this.name=name;
}
void show(){}
}
class Student2 extends Person1{
Student2(String name){
  super(name);
}
void method(){
super.show();
}
}
public static void main(String [] args){
   Student2 stu=new Student2(xiaoxiao);//报错    加了双引号还是报错
}
}


//求解释
作者: 曾浩    时间: 2012-10-9 18:56
哥们 你这问题也太。。。
你那个构造函数的参数是String类型的啊 你还是自己再 仔细看看啊
这种问题 你可以看看你程序的 错误信息  加油啊

作者: Jordon    时间: 2012-10-9 18:58
Student2 stu=new Student2("xiaoxiao");//报错
传值加上双引号
作者: 王震阳老师    时间: 2012-10-9 19:27
  1.        
  2. class Person1
  3. {
  4.       private String name;
  5.       Person1(String name)
  6.          {
  7.             this.name=name;
  8.          }
  9.          void show(){}
  10. }//这是Person1类

  11. class Student2 extends Person1
  12. {
  13.       Student2(String name)
  14.     {
  15.      super(name);
  16.     }
  17.     void method()
  18.     {
  19.     super.show();
  20.     }
  21. }//这是第二各类继承了person1类

  22. //楼主的代码格式错误其实是,要加一个程序入口的主方法类
  23. class TestPerson1
  24. {
  25.     public static void main(String [] args)
  26.     {
  27.      Student2 stu=new Student2("xiaoxiao");//该处的xiaoxiao为字符串,因此要符合字符串书写格式,一定要加”“;
  28.     }
  29. }
复制代码
楼主的问题主要有两个。
1:楼主的饿代码书写格式缺少类呀,请问楼主,你的主函数在那个类里包含的呢,java中所有的方法包括主方法都必须放在类里面。我给楼主加了包含住方法的类。解决了这一个问题
2:Student2();括号里应该是字符串格式,楼主一定要记住字符串一定要加“”,双引号的。
希望对楼主有帮助,
经过改进以后楼主可以在测试,已经可以运行了。


作者: 王震阳老师    时间: 2012-10-9 19:29
还有一点要给楼主说的就是,以后写代码书写格式一定要规范好看,这样容易发现问题。
作者: 胡斌    时间: 2012-10-9 19:44
粗心造成的!大括号,还有引号问题:
class Person1
{
private String name;
Person1(String name){
  this.name=name;
}
void show(){}
}
class Student2 extends Person1
{
  Student2(String name){
  super(name);
}
void method(){
super.show();
}

public static void main(String [] args)
{
       
   Student2 stu=new Student2("xiaoxiao");
}
}
作者: 李志群    时间: 2012-10-9 20:15
没别的解释 你传参时候 你大括号没有“”双引号啊。。。。 你那是String类型的。。。 加个括号就好了哈哈
作者: 李志群    时间: 2012-10-9 20:16
双引号 说错了 0 0!Student2 stu=new Student2("xiaoxiao");
作者: 李健_8    时间: 2012-10-9 21:06
王震阳 发表于 2012-10-9 19:27
楼主的问题主要有两个。
1:楼主的饿代码书写格式缺少类呀,请问楼主,你的主函数在那个类里包含的呢,java ...

解答的很详细   谢谢
作者: 王梁星    时间: 2012-10-9 23:32
  1. class Person1{
  2.   private String name;
  3.   Person1(String name){
  4.     this.name=name;
  5.   }
  6.   void show(){}
  7. }
  8.   class Student2 extends Person1{
  9.     Student2(String name){
  10.     super(name);
  11.   }
  12.   void method(){
  13.     super.show();
  14.   }
  15. }
  16. class PersonConstruct{//主函数的类名给你加了个
  17.   public static void main(String [] args){
  18.     Student2 stu=new Student2("xiaoxiao");//不报错了,String类型,字符串要加双引号(这点我也借鉴学习了!)
  19.   }
  20. }
复制代码

作者: 李健_8    时间: 2012-10-10 01:35
缘木求鱼 发表于 2012-10-9 23:32

               错
作者: 王梁星    时间: 2012-10-10 09:42
李健_8 发表于 2012-10-10 01:35

怎么错?:handshake
作者: 李健_8    时间: 2012-10-10 14:47
缘木求鱼 发表于 2012-10-10 09:42
怎么错?

不全  详情见上




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