Java 类名与方法名相同一定是构造方法吗?

不是的;

普通方法也可以和类名相同,但是必须要有返回值,和返回值类型;没有返回值就是构造方法;

构造方法代码示例

public class Test {
    private String name;
    private String age;
    private String sex;
    //提供无参构造方法
    public Test(){}
    public Test(String n){
        name = n;
    }
    //提供三个参数的构造方法
    public Test(String n,String a,String s){
        name = n;
        age = a;
        sex = s;
    }
    public Test(String member,String message){
        if(member.equals(member)){
            name = "这是个奇葩:"+member+message;
        }
    }
    public static void main(String[] args) {
        //new 一个对象
        //在对象里面使用构造方法,在初始化时就进行赋值
        Test test = new Test("哈哈");
        //赋值之后其实此时对象的 name 变量 就有了值,进行打印
        System.out.println(test.name);

        //调用两个参数的构造方法
        Test test2 = new Test("AA","AA");
        System.out.println(test2.name);

        //调用三个参数的构造方法
        Test test3 = new Test("BB","CC","DD");
        System.out.println(test3.name + test3.sex + test3.age);
    }