一.this关键字
this关键字代表当前对象(哪一个对象在访问,this就表示哪个)
使用this关键字引用成员变量
使用this关键字引用成员方法或构造方法。
在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的 格式来引用成员变量名,常常用来区分同名的成员变量和局部变量。
结果:
二.static关键字
1.特点:
随着类的加载而加载
优先于对象存在
修饰的成员,被所有对象所共享
可不创建对象,直接使用类名调用
2.static属性
静态属性是类的所有对象共享的,即不管创建了多少个对象,静态属性在内存中 只有一个。
• 静态变量在类被加载时由系统默认初始化。
• 静态变量值是所有对象共享。
• 静态变量可以在任意方法、代码块、构造器中直接使用。
• 可以通过类名.静态变量直接访问,也可以通过对象.静态变量的方式访问(但是更推荐使用类名.静态变量的方式)。
示例代码:
三.代码块
在类中声明的一个没有名字的码块
1.实例代码块
每次创建对象时自动调用,执行
2.静态代码块
在类被加载时,会自动执行(只执行一次)
static { System.out.println();
}
3.类什么时候会被加载?
(1)运行类时的main方法
(2)访问类中的静态成员变量,成员方法
(3)创建类的对象
四.包
问题: 项目越写越大,用到了类越来越多,会出现同名类, 如何按照不同的功能管理类
java中使用包机制来管理类.
1.包的命名规范
包目前至少3级
第一级 项目类型 com org gov edu
第二级 公司名字 baidu sun huawei
第三级 项目名字 oa cms erp
第四级 功能模块 web service dao config
2.包的作用
(1)按照不同功能管理类
(2)避免类重名
(3)控制访问权限,:在不同的包中,对不同权限的成员进行访问限制
3.导入外部包的类,关键字 import
当在一个类中使用其他包中的类时,需要先使用import关键字导入进来. 只有java.lang包中的类比较特殊,使用时不需要导入
五.访问权限修饰符
访问权限修饰可以修饰类,成员变量,成员方法, 内部类.
访问权限修饰符共有4种:
public : 公共权限 修饰类,成员变量,成员方法, 内部类。
protected: 受保护权限 修饰成员变量,成员方法, 内部类。
什么都不写 : 默认权限 修饰类,成员变量,成员方法, 内部类。
private : 私有权限 修饰成员变量,成员方法, 内部类。
六.面向对象特征--封装
一般意义的封装, 例如将重复出现的代码抽取了一个函数, 称为代码的封装(包装)
面向对象语言中的封装:
将类中的某些信息,使用不同的访问权限修饰符隐藏起来,不让外界直接访问操作,而是通过类中 向外提供的特定的方法去访问操作. 方便加入控制语句,主动权就在我们类自己手中.
(1)快捷键生成get set 变量
(2)快捷键生成有参,无参构造方法
封装案例1: 将类中成员变量私有化
封装案例2: 将类中的方法私有化
java设计模式: 解决某种问题的固定的方式(算法)
单例模式: 让一个类,在一个程序中只能创建一个对象.将类的构造方法私有化,外界不能随便调用向外界提供一个获取该类对象的方法.
标签:关键字,变量,访问,静态,成员,面向对象,权限,第四章 From: https://blog.csdn.net/2403_87587287/article/details/143184888