本文主要讲的是在java中超级关键的关键字。
权限修饰符
- 权限修饰符的定义:
权限修饰符,用于修饰类中的成员(成员变量、成员函数)。 - 权限修饰符的种类:
java中有四大修饰符,分别为:
1. private(私有的) :最小的一种权限,只能在在本类中访问到。
注意:私有是封装的一种表现形式,但是封装不是私有
2. default(默认的)
3. protected(受保护的)
4. public(公共的) - 为什么要提供访问方式而不是直接访问成员变量:
因为可以在访问方式中加入逻辑判断语句来限制成员变量的内容。
this关键字
- this关键字代表它所在函数所属对象的引用,简单来讲,哪个对象在调用this所在的函数,this就代表哪个对象。
- 用途:用于在局部变量和成员变量重名时区分二者。
- 在一个对象中的成员变量相互调用时,其前面都可视为省略了
this.
- 基本应用:在定义类中功能时,该函数内部要用到调用该函数的对象时,可以用
this.
来表示这个对象。但凡本类功能内部使用到了本类对象,都用this.
表示。 特殊用法:用于构造函数之间的调用,用
this()
。
示例代码如下:person(String n){ //结构函数的重载 name = n; } person(String n,int a){ //结构函数的重载 this(n); age = a; }
static(静态)
用法:
- 用于修饰成员(成员变量,成员函数)
- 当成员被
static
修饰时,除了可以被对象调用外,还可以直接被类名调用,格式:(类名.静态成员)
特点
- 随着类的加载而被加载,随着类的消失而消失
- 当类一被加载到内存中时,静态也会被载入内存。因此静态变量也被称为类变量。(非静态变量被称为成员变量或实例变量)
- static变量的生命周期最长。
- 优先于对象存在
- 被所有同类对象共享
- 可以直接被类调用。
实例变量与类变量的区别
- 存放位置:
类变量:随着类的加载,存在于方法区中。
实例变量:随着对象的建立存在于堆内存中- 生命周期:
类变量:生命周期最长,随着类的消失而消失。对象可以产生多个,用完会消失,类消失无法创建静态变量。
实例变量:随着对象的消失的消失static的注意事项
- 静态方法只能访问静态成员,非静态方法既可以访问非静态成员,也可以访问静态成员。
- 静态方法中,不可以定义
this,super
关键字
因为静态先于对象存在
static的好处
- 对对象的共享数据进行单独空间存储,节省空间
- 可以直接被类调用
弊端
- 生命周期过长
- 访问出现局限性
静态虽好,
可不要贪杯哟但只能访问静态