黑马程序员技术交流社区

标题: 大家帮忙看看,哪里有问题? [打印本页]

作者: 黄振    时间: 2013-1-31 23:52
标题: 大家帮忙看看,哪里有问题?
本帖最后由 张向辉 于 2013-2-3 11:25 编辑

class Person
{
        private String name;
        private String age;
        
        {
        cry();
                //System.out.println("name="+name+",,age="+age);
                        
        }
        Person()
        {
                System.out.println("A:name="+name+",,age+"+age);
        }

        Person(String n)
        {
                name = n;
        //        cry();
                 System.out.println("b:name="+name+",,age="+age);
               
        }
        Person(String n,String a)
        {   
                name = n;
                age = a;
        //        cry();
                System.out.println("c:name="+name+" ,,age="+age);
               
        }
         int cry()
        {
                System.out.println(2);
        }
}
class PersonDemo2
{
        public static void main(String[] args)
        {

                Person p1 = new Person();
            Person p2 = new Person("lisi");
                Person p3 = new Person("wangwu","String");
               
        }
}

作者: Gaara    时间: 2013-2-1 00:17
本帖最后由 张文彬 于 2013-2-1 00:21 编辑

int cry()
         {
                 System.out.println(2);
         }
你这个方法返回值类型不能是int, 因为你没有需要返回的值,直接就打印了。所以需要改成这样
void cry()
         {
                 System.out.println(2);
         }

作者: 铿锵科技    时间: 2013-2-1 00:27
代码很乱,建议下载ecliipse用来学习
作者: 黄杨    时间: 2013-2-1 00:28
Person()
        {
                System.out.println("A:name="+name+",,age+"+age);   -->  你这句话有错,name和age这2个变量没有赋值
        }


  Person(String n)
        {
                name = n;
        //        cry();
                 System.out.println("b:name="+name+",,age="+age);
               
        }
这段代码里面的age没有赋值

作者: 杨浩    时间: 2013-2-1 12:33
基本数据类型的数据,可以只声明不赋值,直接使用
但是String不行,String其实是引用型的,如果不赋值,它默认是null,就是空引用,直接使用会报空指针异常。
作者: 黄振    时间: 2013-2-1 14:41
{:soso_e181:}




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