接口
接口的定义
使用 interface 关键字用来声明一个接口。
[访问修饰符] interface 接口名称 [extends 其他的接口名1,….其他的接口名n] {
// 声明常量 抽象方法 静态方法 默认方法
}
接口的使用
类使用implements关键字实现接口。在类声明中,Implements关 键字放在class声明后面。
[访问修饰符] class 类名 implements 接口名1,接口名2……{ }
结合继承
[访问修饰符] class 类名 extends 父类名 implements 接口名1,接口名2…
接口的特性
接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字
接口中方法可以是抽象的,静态的,默认的
接口中声明的属性默认为 public static final 的
接口不是被类继承了,而是要被类实现
接口不能实例化对象
与继承关系类似,接口与实现类之间存在多态性
一个接口能继承其它多个接口
当类实现接口的时候,类要实现接口中所有的抽象方法。否则,类必须 声明为抽象的类
常用类
一、Java API概述
API(Application Programming Interface)应用程序编程接口 , 是对java预先定义的类或接口功能和函数功能的说明文档,目的是提供 给开发人员进行使用帮助说明.
二、基本数据类型包装类
因为基本数据类型使用关键字定义,不是面向对象的。这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类.
包装类(如:Integer,Double等)这些类封装了一个相应的基本数据 类型数值,并为其提供了一系列操作方法
基本数据类型 | 包装类 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
基本数据类型封装类
对于包装类来说,这些类的用途主要包含两种:
作为和基本数据类型对应的类类型存在。
包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。
包装类常用属性方法
1、构造方法
Integer(int a)
Integer(String a)
2、比较方法
static int compareTo(Integer a)
boolean equals(Object);
int max(int a,int b);
int min(int a,int b);
3、转换方法
static toBinaryString(int i);
static String toHexString(int i);
static String toOctalString(int i);
int intValue();
static int parseInt(String s);
String toString();
static Integer valueOf(int i)
static Integer valueOf(String s)
装箱和拆箱
装箱:自动将基本数据类型转换为包装器类型 ,装箱的时候自动调用的是Integer的valueOf(int)方法
拆箱:自动将包装器类型转换为基本数据类型 ,拆箱的时候自动调用的是Integer的intValue方法
三、Object类
Object类是所有Java类的祖先(根基类)。每个类都使用 Object 作为 超类(父类)。所有对象(包括数组)都实现这个类的方法。 如果在类的声明中未使用extends关键字指明其基类,则默认基类为 Object类
public class Person { ... }等价于 public class Person extends Object { ... }
1.to String方法
Object类中定义有public String toString()方法,其返回值是 String 类型,描述当前对象的有关信息。
在进行String与其它类型数据的连接操作时(如: System.out.println(“info”+person)),将自动调用该对象类的 toString()方法
可以根据需要在用户自定义类型中重写toString()方法。
2.equals方法
Object类中定义有: public boolean equals(Object obj)方法 提供定义对象是否“相等”的逻辑。 Object 的 equals 方法 定义为:x.equals ( y ) ,当 x 和 y是同一 个对象的引用时返回 true 否则返回 false JDK提供的一些类,如String,Date等,重写了Object的equals方 法,调用这些类的equals方法, x.equals (y) ,当x和y所引用的对象 是同一类对象且属性内容相等时(并不一定是相同对象),返回 true 否则返回 false