黑马程序员技术交流社区
标题:
怎么可以实现调用的功能呢 ?
[打印本页]
作者:
林康春
时间:
2012-2-22 18:35
标题:
怎么可以实现调用的功能呢 ?
本帖最后由 林康春 于 2012-2-24 17:19 编辑
/*需求:
设计一个表示用户的User类,类中的变量有用户名,口令和记录用户个数的变量,定义类的三个构造方法(无参,为用户名赋值,
为用户名和口令赋值),获取和设置口令的方法和返回类信息的方法。
*/
class User
{
private String name ;
private String password;
private int number;
public User()
{
System.out.println("一个新的User对象被实例化");
}
public User(String name)
{
this();
this.name=name;
}
public User(String password,int number)
{
this();
this.password=password;
this.number=number;
}
public String getInfo()
{
return "用户名:"+name+",口令:"+password+",用户个数:"+number;
}
}
class UserDemo
{
public static void main(String[] args)
{
User u=new User("gfdgdfgdf",3);
System.out.println(u.getInfo());
}
}
结果:
一个新的User对象被实例化
用户名:null,口令:gfdgdfgdf,用户个数:3
怎么样才可以达到用户名也有呢
作者:
丁晓宇
时间:
2012-2-22 18:53
本帖最后由 丁晓宇 于 2012-2-22 18:56 编辑
//定义类的三个构造方法
//无参
public User() { }
//为用户名赋值,
public User(String name) {
this.name = name;
}
//为用户名和口令赋值
public User(String name, String password) {
this.name = name;
this.password = password;
}
// 让用户名也有
public User(String name, String password, int number) {
this.name = name;
this.password = password;
this.number = number;
}
复制代码
作者:
马胜平
时间:
2012-2-22 18:57
本帖最后由 马胜平 于 2012-2-22 19:07 编辑
可以给name设置一对set get方法,或在设计一个构造方法实例化所有成员!
作者:
H07000223
时间:
2012-2-22 19:13
本帖最后由 H07000223 于 2012-2-22 19:14 编辑
你new一个对象后,会根据你传进参数的类型、顺序、数量进行构造方法的匹配,到底调用哪一个。
而程序中你只传入了password,number根本没有name的信息,你叫他怎么给你编出来啊。
解决的方法:
public User(String name,String password,int number)
{
this(name);
this.password=password;
this.number=number;
}
将原来两个参数的构造方法改造下传入三个参数:想获得name值你好歹的传个给他吧,亲!!!
作者:
林康春
时间:
2012-2-22 19:32
但要求只能三个构造方法阿
作者:
王康
时间:
2012-2-23 11:14
丁晓宇 发表于 2012-2-22 18:53
想请教你一下,这种帖代码的方式是怎么操作?
作者:
沈样
时间:
2012-2-23 11:29
你调的方法不对public User(String password,int number)
{
this();
this.password=password;
this.number=number;
}
这个方法调了没有构造函数的方法,这个方法中没有对name进行付值,要调用this(name)这个方法,然后把方法参数加个String name;这样就可以了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2