1.封装:隐藏对象的属性和实现细节,仅对外提供公共的访问方式。
2.private:是一个关键字,表示私有,可用于修饰成员变量或成员方法,被它修饰完毕后的内容在其他类中是不能直接访问的
private仅仅是封装的一中体现,函数也是封装的一种体现,
*类的成员变量都加private
一般get、set方法同时出现,但也可以单独出现
2.构造方法的格式及特点:
A:方法名必须与类名一致
B:没有返回值类型
C:没有具体的返回值
构造方法的作用:给对象进行初始化
3.注意事项:
A:没有返回值,不能直接调用
B:如果没有给出构造方法,系统会给一个默认的无参构造方法
C:如果定义了构造方法,系统将不会再给出无参构造方法(推荐自己手动给出无参构造方法)
D:构造方法重载其实就是构造方法接收不同的参数
4.给成员变量赋值:(推荐使用set方法)
A:通过set方法
B:通过构造方法
C:在定义时赋值
5.this关键字:
this代表其所在方法所属对象的引用。哪个对象调用方法,在方法内部就会有一个隐含的this代表这个对象,即谁调用,this代表谁。
应用场景:
A:用于解决局部变量隐藏成员变量的问题(区分局部变量与成员变量)。
B:用在方法中,代表本类对象的引用。
6.代码块:就是由{}括起来的代码。
分类:
局部代码块:定义在方法中的代码块。
作用:让变量进了能早的从内存中消失,提高效率。
(面试用) 构造代码块:定义在方法外的代码块叫做构造代码块。
作用:把所有构造方法中的共同内容定义在构造代码块中(每一次调用构造函数,构造代码块都会执行一次)。
PS:构造代码块优先于构造方法执行
7.详解代码执行流程:Person p = new Person();
A:把Person.class文件加载到内存
B:在栈中开辟空间给p
C:new Person()在堆内存中开辟空间
D:方法进入方法去,有类名标记,并且同时成员变量进入堆内存,并给出默认值
E:对成员变量进行显示初始化
F:如果有构造代码块,在构造代码块中对成员变量赋值
G:执行构造方法中对成员变量的赋值
H:到此为止,对象的初始化完成
I:把堆内存对象的首地址赋值给栈内存的p变量
8.static:修饰的成员变量被所有对象共享。
类的组成:
成员变量 ------- 外在描述
构造函数 ------- 对数据进行初始化
成员方法 ------- 一些功能
9.static修饰成员变量和成员方法
特点:
A:随着类的加载而加载。
B:优先于对象存在。
C:为什么使用静态?
a.如果某个内容被所有对象共享,则该内容该用静态修饰(不是为了提高效率)。
b.没有被静态修饰的内容,属于对象的特有描述。
D:可以直接被类名调用。
10.static使用注意事项:
A:在静态方法中没有this关键字,
因为静态是随类的加载而加载,而this是随对象的创建而存在。
B:静态方法只能访问静态变量和静态成员方法,非静态方法可以访问静态和非静态
C:静态的内容可以通过对象的调用,也可以使用类名调用,推荐使用类名调用(在实际开发中不要用对象调用静态成员)
11.如果在一个类A中,使用另一个类B的内容
方式1:先编译B,再编译A再使用
方式2:直接编译A,它会自动帮你编译
12.如何使用API(以Math为例)
A:在API中搜索Math
B:看这个类的结构:
若是java.long包下的类,可以直接使用,否则需要导包
C:看对此类的说明
D:看构造方法(字段、属性、域都是成员变量)
a.若有构造方法,通过构造方法创建对象使用
b.无构造方法,则此类的成员一般都是静态的
E:按照正常操作使用方法
左边:是否有明确返回值,若void,直接调用,否则输出或者赋值调用,若是静态,直接类名调用
右边:看方法,看参数(参数类型及个数) |
|