三、包的概念
包是一组相关的类和接口的集合,Java的每个类都包含在相应的某个包中
1.包的定义
创建一个包通过关键字package声明。package语句的一般格式为:
package <包名>
其中,package是关键字,<包名>是标识符
2.包的使用
可以通过import语句导入这些类,从而使用包中的这些类
import语句的使用分为两种情况:1.导入某个包中的某个类;2.导入某个包中全部类。这两种情况分别用如下形式的import语句:
import java。util.Date;//导入包java.util中的Date类
import java。util.*;//导入包java.util中的全部类,不包含其子包
3.创建包等级
用圆点”.“将每个包名分隔就能形成包等级。格式如下:
package<包1名>[.<包2名>[.<包3名>]];
4.类的封装
将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来对隐藏的信息进行操作和访问
5.访问权限修饰符修饰类
能修饰类的访问权限修饰符只有public和default。
6.this关键字
this的使用场合有以下三种:
(1)用来访问当前对象的数据成员
this.数据成员
(2)用来访问当前对象的成员方法
this.成员方法
(3)当有重载的构造方法时,用来引用同类的其他构造方法
this.
this对象是Java语言实现封装的一种机制,它将对象和用于操作这些对象的方法连接在一起
四、static修饰初始化块
初始化块的语法格式如下:
[修饰符]{
//初始化代码块
}
五、static修饰成员变量
用static修饰符修饰的数据成员是不属于任何一个类的具体对象,而是属于类的静态数据成员。
静态数据成员的初始化可以由用户在定义时进行,也可以由静态初始化块来完成。
六、static修饰成员方法
用关键字static修饰的方法叫类方法或静态方法。类方法体中只能访问类变量,而且类方法既可以通过对象来调用,也可以通过类名来调用。
在声明static的方法时,有以下几个方面的限制:
第一,仅能调用其他的static方法;
第二,只能访问static数据;
第三,不能以任何方式引用this或super;
如果需要通过计算来初始化static变量,可以声明一个static块。static块仅在该类被加载时执行一次。
七、日期相关类
Java语言提供了一下3个日期类:
Date类、Calender类和DateFormat类,均在java.util包中。Date类主要用于创建日期对象并获取日期,Calender类可获取和设置日器,DateFormat类主要用来对日期格式化,实现各种日期格式串输入
八、数学类
Math类中的所有变量和方法都具有static和final属性,所以Math类不能派生子类。它提供一组数学函数和常量。
九、继承
继承是一种由已有类创建新类的机制。在Java语言中,被继承的类称为基类或者父类,由继承形成的类称为派生类或子类。因此,子类继承了父类定义的变量和方法,同时也可以修改父类的属性或重写父类的方法,并且添加了自己特有的变量和方法
1.类继承的实现
类的继承是通过关键字extends来实现的,其格式为:
[访问权限] class 子类名 extends 父类名
十、接口
接口的定义包括接口声明和接口体两部分,格式如下:
[修饰符] <interface> <接口名> [extends 父接口列表]{
[public] [static] [final] 变量名 = 初始值;//静态常量
[public] [adstract] 返回值 方法名([参数列表])throws[异常列表]//方法声明
}
接口有如下特点:
1.接口用关键字interface来定义,而不是class。
2.接口中定义的变量全部是静态变量,而且是最终的静态变量。接口还可以用来实现不同类之间的常量共存。
3.接口中没有自身的构造方法,而且定义的方法都是抽象方法,即只提供方法的定义,而不提供具体的实现。
4.接口采用多重继承机制,而不是采用类的单重继承机制。
接口的实现:
在类中,接口实现的格式如下:
类修饰符 class 类名 [extends 父类名] [implements 接口名列表]{
//类中重写接口的抽象方法
}