java---封装、package和import的使用

封 装

封装

• 将类的某些信息隐藏在类内部,不允许外部程序直接访问

• 通过该类提供的方法来实现对隐藏信息的操作和访问

• 隐藏对象的信息

• 留出访问的接口

 

特点:

1、只能通过规定的方法访问数据

2、隐藏类的实例细节,方便修改和实现

封装

修改属性的可见性

创建 getter/setter 方法

在 getter/setter 方法中 加入 属性控制语句

设为private

设为public

用于属性的读写

对属性值的合法性进行判断

 

作用:

1、管理Java文件

2、解决同名文件冲突

定义包

语法:

package 包名;

例:package com.imooc.animal;

注意:

1、必须放在Java源文件中的第一行

2、一个Java源文件中只能有一个package语句

3、包名全部英文小写

4、命名方式:域名倒序+模块+功能

导入包

语法:

import 包名.类名;

例:

导入包中全部类:

import com.imooc.*;

导入包中指定类:

import com.imooc.animal.Cat;

常用系统包

java.lang 包含java语言基础的类

java.util 包含java语言中各种工具类

java.io 包含输入、输出相关功能的类

static

1、static+属性---静态属性

2、static+方法---静态方法

3、static+类---不存在

4、static+方法内局部变量---不存在

静态成员随类加载产生,直至类销毁才回收

静态方法

1、可以直接调用同类中的静态成员

2、不可以直接调用同类中的非静态成员

3、可以通过实例化对象后,对象调用的方式完成非静态成员调用

代码块

1、通过{ }可以形成代码块

2、方法内的代码块称为:普通代码块

3、类内的代码块称为:构造代码块

4、构造代码块前+static:静态代码块

代码块执行顺序

1、无论实例产生多少对象,静态代码块只执行一次

2、构造代码块随实例化过程调用

3、普通代码块随方法调用执行

 

package 和 import 的使用

1、打包--package

包名一般为小写,而类名的第一个字母一般为大写,这样在引用时,可以明显的分

辨出包名和类名。如果在类的定义之前没有使用package定义包名,那么该类就属于缺

省的包。

1.1、 包的作用

可以更好的组织类,包与文件夹类似,文件夹可以将不同的文件放在同一个文件夹

中,而包也可以将不同的类文件放在同一包中。

减少类名的冲突问题,这也与文件夹类似,同一文件夹中的文件不能重名,不同文

件中的 文件可以重名,同一包中的类名不能重复,不同包中的类名可以重复。

对包中的类起了一定的保护作用,详见 Java 的访问控制(在后面的课程中会详细

讲解~~)。

1.2、 包的使用

使用 package 关键字指明类所在的包。 package 语句必须在文件的最前面。 编译

时可使用 javac –d . Test.java 自动产生包需要目录。 可以使用 java testPackage.Test

来执行编译后的代码。

2、导入--import

使用了包机制后,如果在一个类中使用了其他包中的类,需要使用 import来引入。

2.1 import 的使用

直接引用指定的类,如 import java.util.Vector。

引用一个包中的多个类,如 import java.awt.*。 *号代替类名,但不能代替包名,如

import java.awt.*,只引用 java.awt 下的类,而不引用 java.awt 下的子包里面的类。

import java.awt.F*,这种使用方法是错误的。

import 语句在所有类定义之前,在 package 定义之后。 import 只告诉编译器及解

释器哪里可以找到类、变量、方法的定义,而并没有将这些定义 引入代码中。

2.2 包中类的使用

如果要使用的类是属于 java.lang 包的,那么可以直接使用类名来引用指定的类,而

不需要加上包名,因为包 java.lang 不用显示使用 import,它是缺省引入的。 如果要使

用的类在其它包(java.lang 除外)中,那么可以通过包名加上类名来引用该类, 如

java.awt.Font。

对于经常要使用的类(该类在其它包中),那么最好使用 import 引用指定的包,如

java.awt.*。

如果import引入的不同的包中包含有相同的类名,那么这些类的使用必须加上包名。

 

你可能感兴趣的:(Java学习笔记)