1.就近原则与this关键字
Java这门语言遵循的是就近原则,无论是变量的赋值还是其他的调用,this关键字的作用是强行关注成员变量比如:
public class girlFriend {
private String name;
private int age; //如果不赋值那么age默认是0
public void method1(){
System.out.println(age); //输出是0
}
public void method2(){
int age = 10;
System.out.println(age); //输出是10,就近原则
}
public void method3(){
int age = 10;
System.out.println(this.age); //输出是0,this关键字强行回到成员变量
}
所以说this的作用可以概括为区分成员变量和局部变量重名的问题,this的本质是代表了方法调用者的地址值,可以将this想象为一个可变化的指针,s1.method(),此时this就是s1的地址值。
2.标准的JavaBean类
JavaBean 是 Java9平台上一种特殊的类,它遵循一组约定俗成的命名和设计规范。它的主要目的是作为一种可重用的组件,用于在 Java 应用程序中传递和操作数据。
- 类名需要简明易懂,teacher、student;
- 成员变量都使用private修饰;
- 提供至少两种构造方法:无参构造、带全部参数的构造方法;
- 每一个成员变量的get/set方法;
3.对象内存图
当敲代码Student s = new Student();时,计算机会进行如下操作:
- 加载Student.java的.class字节码文件(放在方法区的)
- 申明局部变量s
- 在堆内存中开辟一个空间new
- 默认初始化(int赋值0,String赋值null...)
- 显示初始化
- 构造方法初始化
- 将堆内存中的地址值赋值给左边的局部变量
4.基本数据类型和引用数据类型
引用数据类型就是指引用别的地址的数据的数据类型,比如Student s在栈内存中,它的值是堆内存的地址,该地址中放的才是new Student()的实例,数组同理。
基本数据类型:数据值是存储在自己的空间中
特点:赋值给其他变量,也是赋的真实的值
引用数据类型::数据值是存储在其他空间中,自己空间中存储的是地址值
特点:赋值给其他变量,赋的地址值,所以可能存在两个变量指向同一个地址
Student s1 = new Student();
Student s2 = s1; //赋的是地址值
5.Java API
API即Application Programming Interface,应用程序编程接口,API就是别人已经写好的东西,我们不需要自己编写,直接使用即可。
需要学会掌握并习惯使用Java API文档。
6. ==
int a = 10;
int b = 10;
System.out.println(a == b);
//输出为true,基本数据类型比较的是值
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2);
//输出为false,引用数据类型比较的是地址值
//如果要比较字符串里面的内容,用equals,需要大小写完全一致
boolean result = s1.equals(s2);