java_DAY09:成员变量与局部变量,封装,包的介绍,访问权限控制
1:成员变量与局部变量
成员变量是属于类的变量,其实就是类中的属性,类中的每一个方法都可以共享;
局部变量就是定义在某个方法中的变量,只能在定义的方法中访问,其他的方法不能共享;
成员变量和局部变量区别:
1:定义位置不同
成员变量:定义在类中的变量,属于类
局部变量:定义在方法中的变量,属于方法
2:作用域不同
成员变量:属于类,类中的每一个方法都可以使用
局部变量:属于方法,只能在某一个方法中使用
3:初始值不同
成员变量:有默认的初始值,在加载类的时候,就会给成员变量赋值(默认值)
局部变量:没有初始值,必须初始化之后才可以使用
4:生命周期不同
成员变量:属于类,随着对象的创建而创建,随对象的消失而消失- 垃圾回收器
局部变量:属于方法,随着方法的调用而创建
注意:
1:在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级
2:在方法的参数列表中的参数,也是局部变量
1:封装
1.1:封装的概念
封装是java的三大特性之一
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
1.2:封装的原则 - 记住
1:将属性隐藏起来
2:对外提供公共的访问方法(赋值,取值)
1.3:实现封装的步骤 - 记住
1:私有化属性;
2:创建公共的getter和setter方法;
3:在setter方法中添加控制语句
private 关键字说明:
被private修饰的属性和方法只能在本类中方法,其他类不能直接访问.
1.4:封装的好处 - 记住
1、隐藏了实现的细节,提高安全性和健壮性
2、符合java的“高内聚,低耦合”思想
3、提高了软件的独立性和可重用性
2:包的介绍
作用:
1、文档分门别类,易于查找和管理;
2、解决文件同名冲突问题;
3、有助于实施访问权限管理;
包:package,需要放在java源代码中的第一条语句;以分号结尾。
类似于windows中的文件夹,
包的命名规则:
1、包名由小写字母组成,不能以圆点开头或结尾;
2、包名之前最好加上唯一的前缀,通常是组织倒置的域名;
包的创建方式:
1、分别创建包和类
2、创建类的同时创建包
包的导入:
如果需要使用其他包下面的类,可以使用import 关键字导入
导入规则:import 包名.类名
如:
import java.util.Scanner; 导入scanner类
import java.util.*; * 表示所有的类,导入java.util包下的所有类
注意:
1、一个类同时引用了两个来自不同包的同名类,必须通过完整类名来区分
2、package和import的顺序是固定的
package必须位于第一行(忽略注释行);
只允许有一个package语句;
其次是import;
接着是类的声明;
3:访问权限控制 - 记住
Java 中一共有四种访问权限控制,其权限控制的大小情况是这样的:public > protected > default(包访问权限) > private ,
具体的权限控制看下面表格:
1、public: 所修饰的类、变量、方法,在任何地方均具有访问权限;
2、protected: 这种权限是为继承而设计的,protected所修饰的成员,对所有子类是可访问的,但只对同包的类是可访问的,对外包的非子类是不可以访问;
3、包访问权限(default): 只对同包的类具有访问的权限,外包的所有类都不能访问;
4、private: 私有的权限,只对本类的方法可以使用;其他地方均不能访问