1.我可以在类里面写public void hello(){}这样的方法,为什么还要用public 类名(){}这种构造方法呢?优势是什么?
2.一个类加不加构造方法都可以被用,我看视频里面说到没有构造方法系统会自动添加,可是我还是不明白这个添加在哪里了?是默认在我的类里面加入了:
public 类名(){
}
这样三行空白代码吗?
真心求问,纠结好久。
说到构造函数,首先你要清楚函数有无参构造函数和有参的构造函数
函数用途1:
比如说一个Class类中有很多属性,你在测试类中要用到时,如果你只有一个无参的构造函数,那么你使用这个类的并且输出类的属性值的时候,你就需要new 一个对象 然后用对象.属性 给他赋值,但是如果你有一个带参数的构造函数 那么你在调用他的时候就只需要new一下的同时就给它赋值,
Class class=new Class(“属性值1”,“属性值2”);这样就可以了!方便了很多,这样就是初始化!
正如上面所说的,构造方法用来初始化对象,当为有参的构造方法时,你在创建一个新的对象时,如创建一个Test的对象,Test s1=new Test(属性1值,属性2值),那么你所填的值,在自动调用构造方法时,就会初始化对象中的属性。
当你的所用来创建对象的类中的有些方法为private(私有方法),在其他类中,你即使创建该类的实例对象,你还是不能调用那些私有的方法和属性,这时,你可以通过构造方法去调用该类中的私有方法和设置属性,或者输出。
当你的类中,你并没有写构造方法时,系统会自动为你添加一个无参的构造方法 public 类名(){}
就是默认在你的类中有这么一个构造方法