Java类和对象的学习

时间:2023-02-24 11:51:17

简单认识了Date对象和LocalDate对象

Date类和LocalDate类都可以用来表示日期,但是前者已经被废弃,基本都是用后者

LocalDate对象能够对日期有多种处理方法,一些简单的功能都已经封装在这个类里实现了。

LocalDate的构造方法有点特殊,它并不是直接new LocalDate() 而是

LocalDate date = LocalDate.of(2000,1,1);

或者通过下面的方法返回今天的日期

LocalDate today = LocalDate.now();

LocalDate类的其他方法:

getYear() 获取年份

getMonthValue() 获取月份

getDayOfMonth() 获取天数

plusDays(int days) 在当前基础上往后推几天并返回一个新的LocalDate对象

miusDays(int days)在当前基础上往前推几天并返回一个新的LocalDate对象

更改器方法和访问器方法

所谓更改器方法,就是会改变调用该方法对象本身的方法,而访问器方法只是访问对象数据,不会进行修改。

隐式参数和显式参数

对象或类调用成员方法的时候,在括号里的叫做显式参数,而类或对象本身叫做隐式参数。

计算机科学术语:按值传递和按引用传递

按值传递指的是把某个值/变量作为参数传入函数中时,函数中该参数只是传入值/变量的一个副本(copy),在该函数中修改这个参数的值,是不会影响到原来该变量本身的值的。

按引用传递则相反,它相当于c/c++中的指针,传入了具体的地址,自然在函数中的参数引用也是指向同一个变量,所以在函数中更改会导致函数外部的变量本身的值。

在java中,基本类型的变量传入函数是按值传递,而对象传入函数是按引用传递,两者是有区别的。

其他心得

1. 私有对象变量在类/对象的方法中返回时,会返回引用,暴露对象的真实地址,这会让私有对象变得非常危险,因为这意味着函数外部某个引用指向了该对象,可以改变该对象的状态。

2.在类中定义了一个成员变量,在同一个类的方法中又定义了一个重名的变量,编译不会有错,但是这样写是很不正确的,应该避免这样的写法,这样做会使在该方法中访问该重名变量时调用离其最近的那个变量,也就是方法内定义的变量。