在一个类里有此类的构造函数,那如何在主函数对类的数据以及构造函数的数据进行修改呢?

我的主函数是这样的,我的目的是想要给类的name进行赋值。然后再对函数内部的构造函数进行调用

public static void main(String[] args) {
    // TODO Auto-generated method stub
    WithoutVoid wov = new WithoutVoid();//对非金泰变量函数进行调用。对对象进行调用,这样使得我们能够通过这一个条款建立不同的项目。
    wov.name = "zhangsan";
    
    
    WithStatic.WStatic();//对静态变量函数进行调用,不用创建任何对象,不用对函数内部进行多种类型的赋值。
    
    WithoutVoid a_1=new WithoutVoid();//调用无参的构造函数  
    WithoutVoid a_2=new WithoutVoid("Hello");//调用有参的构造函数  
    WithoutVoid a_3=new WithoutVoid("Hello_Again");//再次调用有参的构造函数          
}

构造函数的类是这样写的,为了让自己更加的了解构造函数有参和无参的区别,还有this关键字的用法:

package how_to_use_static;

public class WithoutVoid 
{
    String name;
    
    //构造方法/必须与class名字相同/没有返回值
    
    public WithoutVoid()
    {  
              System.out.println("调用了无参的构造函数");  
              System.out.println("调用了无参的构造函数且非要输出值:" + this.name);
              //这个this.name指代的是WithoutVoid.class中指代的name              
    }  
    public WithoutVoid(String name)
    {  
              System.out.println("调用了有参的构造函数\n"+  
                 "参数内容为:"+name);//这个name是指代的构造函数的参数所得到的数值  
    }  
          
}


但是我运行后发现结果是这样的:
调用了无参的构造函数
调用了无参的构造函数且非要输出值:null
调用了无参的构造函数
调用了无参的构造函数且非要输出值:null
调用了有参的构造函数
参数内容为:Hello
调用了有参的构造函数
参数内容为:Hello_Again

疑问:那个null我没有能成功的赋值,如果我想要将这个null改掉该怎么做?

你这两个构造函数都没给name属性赋值
有参构造你要把传进来的参数赋值给类,this.name = name
无参构造要给属性赋值最好给变量一个set方法入口和获取值的get方法,通过set方法赋值

无参构造函数中,没有对成员变量name赋值,为空。可以添加一个setName函数给name赋值。
带参构造函数修改如下:


public WithoutVoid(String name)
{
        this->name = name;//给成员变量赋值
        System.out.println("调用了有参的构造函数\n"+  
            "参数内容为:"+name);//这个name是指代的构造函数的参数所得到的数值  
}