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: 私有的权限,只对本类的方法可以使用;其他地方均不能访问