黑马程序员技术交流社区
标题:
不知道对不对,请大牛指点指点
[打印本页]
作者:
陈浩通
时间:
2015-3-22 20:38
标题:
不知道对不对,请大牛指点指点
class Teacher
{
private String title;
private String name ;
private int age ;
Teacher (String title)
{
System.out.println(name);
this(name,age,title);
}
Teacher (String name, int age, String title)
{
System.out.println("OK");
}
}
class Test
{
public static void main (String[] args)
{
Teacher teacher1 = new Teacher("John");
Teacher teacher2 = new Teacher("Mike",25,"TA");
}
}
总是运行不出来,也不知道哪错了,还望大牛指点迷津啊
作者:
关山明月
时间:
2015-3-22 21:28
好乱的感觉。。。。参数名感觉不对应。。。创建第一个对象的时候,如果传的参数是title的话,打印的却是name属性。最重要的是this(name,age,title);这行代码一定要放在构造函数的第一行。我把代码改了,不知道是不是你原本要实现的
class Teacher
{
private String title;
private String name ;
private int age ;
Teacher (String name)
{
this.name=name;
System.out.println(name);
}
Teacher (String name, int age, String title)
{
this(name);
this.title=title;
this.age=age;
System.out.println(age);
System.out.println(title);
System.out.println("OK");
}
}
class Test
{
public static void main (String[] args)
{
Teacher teacher1 = new Teacher("John");
Teacher teacher2 = new Teacher("Mike",25,"TA");
}
}
复制代码
作者:
shewim
时间:
2015-3-22 21:43
this()和super()调用一定要放在第一行才行的!你下面的this(name,age.title);是该构造函数的第二行...
Teacher (String title)
{
System.out.println(name);
this(name,age,title);
}
复制代码
作者:
xuweiyu
时间:
2015-3-22 21:55
问题在于你没有关于形参和实参,构造函数 Teacher (String title)里的title是形参,把他改成任意的字符串,要想把成员变量传进去就用this.title=title;后面的构造函数的道理也是一样的。
作者:
xuweiyu
时间:
2015-3-22 21:56
打错了好多字,问题在于你没有区分形参和实参,构造函数 Teacher (String title)里的title是形参,你把他改成任意的字符串都可以,要想把成员变量传进去就用this.title=title;后面的构造函数的道理也是一样的。
作者:
虚谷
时间:
2015-3-22 22:22
学习了,赞一个
作者:
小川行
时间:
2015-3-23 09:03
学习来啦,顶一个!
作者:
wenke
时间:
2015-3-23 10:34
赞一个 代码写不少
作者:
陈浩通
时间:
2015-3-23 22:24
关山明月 发表于 2015-3-22 21:28
好乱的感觉。。。。参数名感觉不对应。。。创建第一个对象的时候,如果传的参数是title的话,打印的却是nam ...
我用记事本粘贴的,看的比较乱
作者:
lmjssjj
时间:
2015-3-23 23:04
赞一个
作者:
山里孩子
时间:
2015-3-23 23:25
赋值方式就没写,this要在构造方法的第一行
package String7;
class Teacher
{
private String title;
private String name ;
private int age ;
Teacher (String title)
{
this.title = title; //没有赋值,要写在第一行
System.out.println(title);
}
Teacher (String name, int age, String title)
{
this.title =title; //三个都没有赋值
this.age = age;
this.name=name;
System.out.println("OK");
}
}
class Test
{
public static void main (String[] args)
{
Teacher teacher1 = new Teacher("John");
Teacher teacher2 = new Teacher("Mike",25,"TA");
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2