- class Student
- {
- String name;
- int age;
- Student()//无参数构造函数,
- {}
- Student(String name,int age)//有参数构造函数
- {
- this.name=name;//设置对象的名字
- this.age=age;//设置对象的年龄
- }
- }
- class StudentDemo
- {
- public static void main(String[] args)
- {
- Student stu=new Student("zxp",20);
- System.out.println("创建学生对象的姓名:"+stu.name+",他的年龄:"+stu.age);
- }
- }
复制代码 首先,构造函数是一个类默认就有的,
什么是构造函数,就是这个函数没有返回值类型,他的函数名与本类相同,而且只要类加载,他就加载,
如果我们写的类中不明确的写出构造函数,那么程序就默认有一个无参数的构造函数,,但是我们要是明确的写出来,
那么,在创建对象时,就根据你创建对象时给出的参数来选择调用哪个构造函数,比如说,上面的例子,
我创建stu对象时,我传入了String类型的zxp,和int型的20。所以,程序加载时,就会调用有参数的构造函数,无参数的构造函数就不会被调用。
有参数构造函数中的this就是指你在主函数中创建的对象,
至于你说的set,get方法,如果你把name有static来修饰,那么这个属性就变成静态的,静态的属性和函数只能在本类中使用,主函数属于另一个类,就不能直接用对象.name来使用,就必须在Student中写一个函数,让他来调用该静态属性,而该方法不是静态的,就可以在主函数中调用了,从而访问到静态的name属性。
打个比方来说,就是你不能出教室,但是在办公室的老师让你交作业,那么你的班级中就必须得有一个课代表,他可以帮你传达你的作业,
那么,你就相当于被静态了,而跑腿的课代表就是一个函数,老师就是在另一个类中的主函数。 |