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

1.属性是引用类型怎么访问(内存图讲解)java基础四(参数的传递和构造函数)
引用一定是局部变量吗?为什么?
不一定 类体外定义的是一种引用数据类型,
add 是成员变量并且还是一个实例变量,所以add也是一个引用
2.程序在什么情况下会出现空指针异常呢?
空引用 访问 对象相关的数据时,会出现空指针异常
垃圾回收器主要针对堆内存java基础四(参数的传递和构造函数)
出现空引用异常的前提条件是?
空引用访问实例(对象相关)相关的数据时,都会出现空指针异常java基础四(参数的传递和构造函数)
3.方法在调用的时候参数是如何传递的?
实际上,在java语言中,方法调用时参数传递,和类型无关,都是将变量中保存的那个值传过去,这个值可能是一个数字100,也可能是一个java对象的内存地址:0x1234

java基础四(参数的传递和构造函数)
java基础四(参数的传递和构造函数)
java基础四(参数的传递和构造函数)
java基础四(参数的传递和构造函数)
java基础四(参数的传递和构造函数)
4.构造方法

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

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

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

    • new Student();
    • new Student(100);
  • 构造方法支持方法重载:方法名相同,参数不同
    java基础四(参数的传递和构造函数)
    java基础四(参数的传递和构造函数)
    java基础四(参数的传递和构造函数)
    java基础四(参数的传递和构造函数)
    输出结果:java基础四(参数的传递和构造函数)
    注意事项:java基础四(参数的传递和构造函数)

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

java基础四(参数的传递和构造函数)
将上面User()内容改成下面的内容
java基础四(参数的传递和构造函数)

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