java写一个带有参数的构造方法,通过这个方法实现对r的赋值

java写一个带有参数的构造方法,通过这个方法实现对r的赋值,第1张

public class Test(){
    String r;
    
    Public Test(String r){
        thisr = r;
    }
}

public class MyArray{ //整形数组
private int[] itsArray; public MyArray(){
//在这里赋初值
itsArray = new int[]{0,1,2,3,4,5,6,7,8,9}; }
public MyArray(int[] array){
itsArray = array; }}

上楼的说的有问题,
只要是成员变量java都会自动赋值的。
当一个对象被初始化的时候,
new运算符首先调用构造方法给成员变量初始化,
遇到没有被初始化的成员变量的时候java自动赋值,
int,long等整数自动赋值为0,float,double自动赋值为00,char自动赋值为\0。
这说的是非静态,
对于静态的成员变量,它不属于某一个对象,所以当一个类被装载到内存的时候
如果没有被初始化java自动赋值。
非静态 成员变量 是当一个对象被创建的时候赋值。

构造方法中的参数的作用就是传值的,比如说,当你自定义了一个方法之后需要调用它,这时的方法如果包含参数,那么你就需要这样:方法名(2,“小明”),这样方法体就可以用它来进行运算啦。为什么不直接进行赋值呢?因为方法也就是工具,是被人使用的,如果你直接就给它赋值,那就只有一个结果,如果你设置为有参数,那么就可以在调用时传给它不同的值从而得到不同的结果,用哪一种要看你需要哪种。还有上面你写的这个是构造方法,不应该有参数的,且构造方法是类中默认有的,在执行时会默认调用构造方法。

你可以写一个构造方法,在创建新对象的时候赋值。
比如,我定义了一个学生类,里面有姓名、性别、年龄 Student stu=new Student("张三","男",18);
至于方法呢,其实是不用赋值的,你也可以封装起来,封装用get()和set()。

子类一般默认继承父类的无参构造方法,this知道代表当前对象就行了,当前对象的初始化当然给this属性赋值,你说的属性赋值,如果是子类特有的属性那么通过构造方法用this赋值,如果是父类的,你就可以调用父类的构造,还有this()可以调用本类中的构造方法,但是必须在第一行……


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13382856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存