类与对象的知识点
- [ ]
内存分配的注意点:
- 所有的变量的地址都是存放在栈中,相应的方法的调用会在栈中分配一个对应的空间,这个空间被称作栈帧,一个栈帧对应一个正在被调用的方法,栈帧中存储了该方法的参数与局部变量等数据。
- 匿名对象没有被栈内存引用,所以在使用一次后就被销毁、
- 不论是匿名对象还是非匿名对象,都需要在堆中开辟空间后才能使用。
类与对象:
class People{ String name; //数据类型 成员变量 = 初始值; int age; //数据类型 成员变量 = 初始值; }
- 类名由多个单词构成时,每个单词的首字母都要大写。类中包含描述特征的成员变量与描述行为的成员方法。成员变量由多个单词构成时,通常第二个单词首字母大写。类是一种抽象的描述。
- 成员方法是对当前类的行为的描述,具体语法为:
class People{ int getAge(){ //返回值类型 成员方法名(形参列表)有返回值 return age; //成员方法体; } void setAge(int i){ //无返回值 this.age = i; } }
- 可变长参数语法格式为 返回值类型 方法名(参数的类型... 参数名); 其中参数的类型是统一的。一个方法的形参列表中可变长参数只能有一个,而且要放在末尾。(看作一维数组)
void showArgument(String... names){ for(int i = 0;i < names.length;i++){ System.out.println("第" + i+1 + "个参数是" + names[i]); } }
- 返回值是返回方法体内部的值。方法的调用语法为:引用变量名.成员方法名(实参列表);实参列表可以传递直接量,变量,表达式以及方法的调用等。
- 基本数据类型的变量作为方法的参数传递时,形参变量数值的改变通常不会影响到实参变量的数值。
- 引用数据类型的变量作为方法的参数传递时,形参变量的改变会影响到实参变量的数值。
- 为了解决引用数据类型导致的实参变量的改变,可以在方法中重新申请一块地址空间。
- 对象通过new 类名称(); 语句创建,这个操作称为类的实例化,通过实例化创建了类的对象。在堆中存放该对象独有的特征信息。
Person p1 = new Person(); p1.name = "张飞"
- 引用:使用引用数据类型定义的变量,简称为“引用”,用于记录对象在堆区中的地址信息,解决匿名对象问题。语法格式: 类名 引用变量名; 引用变量名.成员变量名;
`
构造方法与重载:
- 当类中没有构造方法时,JVM会在main中调用默认构造方法,等同于this.方法。若类中提供了方法,通过new 方法名;来调用。
- 方法的重载就是指方法名称相同,但是形参列表不同。这种构造方法的行为被称为重载,构成重载的前提是形参列表中数据类型不能完全一致,包括形参的个数,形参的类型,形参的顺序。
- 方法的重载的目的就是为了减少功能相同的方法名的记忆压力,只通过改变参数的个数类型顺序来实现大体相同的方法功能。
- 判断一个方法能否重载的核心就是调用方法时能否加以区分。
this关键字:
- this的概念通过在代码中出现的位置来说明:
- this出现在构造方法中,代表当前正在构造的对象。
- this出现在成员方法中,代表当前正在调用的对象。
- this还能代表当前变量的引用。
- 当局部变量与成员变量相同的时候,在方法中会有限使用局部变量就近原则,如果希望在变量中选择成员变量,需要使用this.成员变量,表示要求指向成员变量。
- this关键字除了可以通过this.的方法调用成员变量和成员方法外,还可以作为方法的返回值重点
题外话:构造方法的第一行可以直接调用本类中其他的构造方法。

浙公网安备 33010602011771号