java基础四(参数的传递和构造函数)

本文探讨了Java中属性作为引用类型访问的原理,强调空指针异常产生的条件及如何避免。详细阐述了方法调用时参数按值传递的特点,并介绍了构造方法的作用,包括系统默认的无参构造器与手动定义的有参构造器。建议程序员手动添加无参构造器以保持代码清晰。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.属性是引用类型怎么访问(内存图讲解)
属性也就是成员变量或者说是实例变量在这里插入图片描述
引用一定是局部变量吗?为什么?
不一定 类体外定义的是一种引用数据类型,
add 是成员变量并且还是一个实例变量,所以add也是一个引用
2.程序在什么情况下会出现空指针异常呢?
空引用 访问 对象相关的数据时,会出现空指针异常
垃圾回收器主要针对堆内存
Student s = new Student();
s = null;
s.name;//出现空指针异常,语法可以检测通过,运行报错
s.age;
在这里插入图片描述
出现空引用异常的前提条件是?
空引用访问实例(对象相关)相关的数据时,都会出现空指针异常在这里插入图片描述
3.方法在调用的时候参数是如何传递的?
实际上,在java语言中,方法调用时参数传递,和类型无关,都是将变量中保存的那个值传过去,这个值可能是一个数字100,也可能是一个java对象的内存地址:0x1234

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.构造方法

  • 当一个构造方法没有提供任何构造方法,系统默认提供无参构造方法,无参构造方法叫构造方法器

  • 当一个类中手动提供了构造方法,系统不爱再提供无参数的构造函数

  • 无参数构造方法,和有参数的构造方法都可以调用

    • new Student();
    • new Student(100);
  • 构造方法支持方法重载:方法名相同,参数不同
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    输出结果:在这里插入图片描述
    注意事项:在这里插入图片描述

  • 对于实例变量来说,只要你在方法中没有手动给它赋值,统一都会默认赋值,默认赋值系统值.

在这里插入图片描述
将上面User()内容改成下面的内容
在这里插入图片描述

在这里插入图片描述
总结:


参数传递:不管是哪种数据类型的传递,都是将变量中保存的值复制一份,传过去


有参构造和无参构造
默认的为无参,设置有参时,无参自动被覆盖了,如果需要使用无参的话,可以通过重载的方法将手动定义出来


在这里插入图片描述
1.两个作用:创建对象,给属性赋值
(成员变量 /实例变量/属性)
2. 修饰符 + 类名(){
}
3.使用new 运算符调用构造函数
4.系统默认创建的无参构造函数
5.建议手动的将默认的构造器加上,指定不会错
public User(){
}
6.实例变量是在构造方法执行的时候进行初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值