现在假如我有一个java类User
里面有一个
public void setName(){}
方法以及User类的两个构造方法
public User(){}public User(String name){}我现在想要其他人在new一个User对象user的时候,如果
user=new User();使用的是无参构造函数建立实体时,必须覆盖setName方法
而如果
user=new User("张三");使用的是有参构造函数建立实体时,就不用覆盖setName方法。
我该怎么做才能控制别人按照我的意思这么去new一个User对象new一个java对象
里面有一个
public void setName(){}
方法以及User类的两个构造方法
public User(){}public User(String name){}我现在想要其他人在new一个User对象user的时候,如果
user=new User();使用的是无参构造函数建立实体时,必须覆盖setName方法
而如果
user=new User("张三");使用的是有参构造函数建立实体时,就不用覆盖setName方法。
我该怎么做才能控制别人按照我的意思这么去new一个User对象new一个java对象
解决方案 »
- for循环的问题
- D:\track\nbproject\build-impl.xml:679: 尚未部署该模块
- 有个关于JAVA学习的疑问,请教各位JAVA武林高手?
- 二道简单的scjp题,谁能帮我分析一下,谢谢了.
- java读取文件,读出问号了,该怎么办啊,
- java异常的问题
- 需要一个完成的java操作数据库代码
- 怎样得到java application所在的当前目录路径?(不用JFileChooser)
- 用java做mis系统怎么样,用什么软件较好?希望大家讨论,论者有分!
- for循环下的内部类如何访问for语句的循环变量
- 求助一个java socket传输问题。
- Java能自己制作一个安装程序吗
如果
user=new User();
这样的直接new一个java对象是无法通过编译的。
如果想要通过编译,必须按照下面的两种写法才能通过编译
1.要么覆盖setName方法
user=new User(){
public void setName(){ }
};2.要么使用有参构造函数
user=new User("张三");而不是像你说的在程序执行的过程中抛一个异常,我的目的是想控制程序员去new一个对象
public abstract void setName();
}class NamedUser extends User { public NamedUser(String userName) {
} @Override
public void setName() {
}
}
class User {
public User(String userName) {
}
}第一种如果直接new user对象的话必须实现set方法,如果new nameduser就必须提供用户名第二种必须提供用户名,没有无参构造方法