一共两个问题,希望有详解,我必采纳

img


问题一:有参函数跟无参函数的区别详解?
问题二:我这里不是有参函数吗?
我要是把下面的set全注释掉,有参函数在实例化的时候不是这么写的吗——Students stu=new Students("小甘同学","信工学院","计算机应用二班",'女',45);那为什么会报错?

无参函数和有参函数跟带回不带回没有关系,无参函数是不需要输入参数的函数,有参函数是需要输入参数的函数,它们都有可能能输出函数值,也有可能不输出函数值。

一个class文件中,只能有一个独立的类定义,如果有两个及以上的类定义,那么多出来的类是作为内存类定义在唯一独立的那个类中的

  1. 有参无参,主要是看你的函数需不需要传参数进入
  2. Students stu=new Students("小甘同学","信工学院","计算机应用二班",'女',45)的话,你要提供构造方法,跟下面这个类似

img

1、java所有类默认有一个无参构造函数,有参和无参构造函数区别就在于实例化的时候可以直接传递外部参数去给实例的属性赋初值,无参构造函数也可以给实例属性赋初值,但是只能来自于类的内部。
2、你的Student类没有实现构造函数,那么只有一个默认的无参构造函数,如果写出来的话就是:

public Student(){}

如果你要在实例化直接传入参数,需要写一个带参的构造函数,类似于这样:

public Student(String name, String college, String className, String sex, int studentID){
    this.name = name;
    .....
}

无参和有参不是很见名知意吗。new的时候调用的都是构造方法,如果没有定义,那你就不能设置值,set是另外一种方式。
https://blog.csdn.net/m0_64491107/article/details/122277043?spm=1001.2014.3001.5502

你应该想问构造的问题 ,二楼解释的很清楚了