问题描述
- java中能否判断对象是通过哪个构造方法实例化的?
-
java中能否判断出一个类的实例对象是通过该类的哪个构造方法实例化的?
解决方案
没有其他操作的时候就是默认的,有其他操作的时候就是根据实例化时候参数的数量和类型区别了,肯定是对应的构造方法,比如三个构造方法
1.
public User(){
}
2.
public User(int num){}
3.
public User(String name){}
你创建实例时候User u = new User();这就是第一种
User u = new User(2);这是第二种
User u = new User("sdfdf");这是第三种
不知道你明白了吗
解决方案二:
基本是默认的,主要看参数
解决方案三:
根据实例化时候参数的数量和类型区别,楼上说的很详细。
解决方案四:
看你使用的构造函数了
解决方案五:
如果你有个对象,想知道通过那个构造方法,可以创建一个变量,每个构造方法赋值不一样就可以了。若是不通过变量的话,我还没想到其他当时
时间: 2024-12-31 14:48:53