黑马程序员技术交流社区

标题: 菜鸟问题,请高手帮忙分析一下 [打印本页]

作者: 房宝彬    时间: 2011-12-22 17:48
标题: 菜鸟问题,请高手帮忙分析一下
本帖最后由 房宝彬 于 2011-12-22 18:48 编辑

    p.binbin();这块为什么错了?我要打印出 p所指象的binbin的构造函数。

该贴已经同步到 房宝彬的微博
作者: 杨旭    时间: 2011-12-22 17:57
标题: lei
本帖最后由 杨旭 于 2011-12-22 17:59 编辑
  1. public class Heima01 {
  2.         public static void main(String[] args) {
  3.                 Binbin p = new Binbin("lisi",30);
  4.                 System.out.println(p);
  5.         }
  6. }

  7. class Binbin{
  8.         private String name;
  9.         private int age;
  10.         public Binbin(String name, int age) {
  11.                 this.name = name;
  12.                 this.age = age;
  13.         }
  14.         public Binbin(String name) {
  15.                 this.name = name;
  16.         }
  17.         @Override
  18.         public String toString() {
  19.                 return "Binbin [name=" + name + ", age=" + age + "]";
  20.         }
  21. }
复制代码
Class 类变量名 要大写
打印时  调用toString()方法  所以要重写 Bean里的 toString()方法
作者: 房宝彬    时间: 2011-12-22 18:05
杨旭 发表于 2011-12-22 17:57
Class 类变量名 要大写
打印时  调用toString()方法  所以要重写 Bean里的 toString()方法 ...

我真的没理解,你这不是给我的代码改了么?
作者: 陈帅雷    时间: 2011-12-22 18:08
binbin这个类不能直接调用它自己的构造方法,你要想打印初始化binbin p = new binbin("lisi",30);的值,可以重写toString(){}方法,
作者: blackbansy    时间: 2011-12-22 18:28
你这样想,p是一个对象,binbin既是类型名又是函数名,那p.binbin代表什么呢。肯定会错的。你直接写p.name就能输出你想要的结果了
作者: 为梦而战    时间: 2011-12-22 18:33
本帖最后由 为梦而战 于 2011-12-22 18:36 编辑

class Binbin//类名的第一个字母要大字
{
        String name;
        int age;
       
        Binbin(String name)
        {
                this.name=name;
        }
        Binbin(String name,int age)
        {
                this.name=name;
                this.age=age;

        }
        public String getName()//要想对对象的成员变量进行操作,就的对外提供方法
        {
                return name;

        }
        public int getAge()
        {
                return age;


        }




}
public class HeiMa01
{

        public static void main(String[] args)
        {
                Binbin p=new Binbin("lisi",30);
                //p.Binbin();//一个对象只能被初始化一次,第一行已经对p对象初始化了,所以就不能再这样初始化了,
                System.out.println(p.getName()+":"+p.getAge());//有输出语句才能显示,你的代码没有输出语句,所以输不出来!


        }


}
作者: 房宝彬    时间: 2011-12-22 18:47
为梦而战 发表于 2011-12-22 18:33
class Binbin//类名的第一个字母要大字
{
        String name;

太详细了,3Q。十分感谢呀:victory:
作者: 为梦而战    时间: 2011-12-22 19:01
房宝彬 发表于 2011-12-22 18:47
太详细了,3Q。十分感谢呀

相互学习!:handshake




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