java基础第十天 接口
来源:互联网 发布:室内定位 指纹算法 编辑:程序博客网 时间:2024/06/06 08:48
#1、接口
##1.1接口定义:
1、java中就接口是通过关键字interface来表示的
interface 接口名
2、java中实现接口是通过关键字implements表示的
class 类名 implements 接口名
3、接口不能实例化,如果要实例化,是需要通过多态是实例化
接口名 变量名= new 实现类
##1.2接口的特点:
1、定义的方法默认是抽象方法
默认使用:public abstract
建议自己给出
2、定义的变量,都是常量
默认使用 public final static
3、接口里不能定义构造方法
##1.3接口的继承
接口可以多重继承
格式:
接口名 extends 接口1,接口2
##1.4接口的实现
接口的实现类必须实现接口的所有方法
注意:一个类可以继承一个类,同时实现多个接口
子类 extends 父类 implements 接口1,接口2
*
#2接口和抽象类的区别:
1、成员区别
抽象类:
成员变量:变量,常量
成员方法:抽象方法,普通方法
构造方法:可有,用于子类初始化父类属性
接口:
成员变量:常量
成员方法:默认是抽象方法
构造方法:没有
2、关系区别:
类与类:
只能单继承
类与接口:
可以有单实现,多实现
接口与接口:
可以有单继承,多继承
3、开发过程中,建议使用接口(先在都强调的是面向接口编程)
#2、返回值类型
返回值类型:
基本类型:较为简单,不讲
引用类型
类 数组 枚举 接口
如果返回类型是引用类型
普通类:那就应该返回他自己的实例,或者子类的实例
抽象类:应该返回子类实例
接口:应该返回其实现类
#3、形式参数
基本类型:较为简单,不讲
引用类型
类 数组 枚举 接口
如果形式参数类型是引用类型:
普通类:那就应该返回他自己的实例,或者子类的实例
抽象类:应该返回子类实例
接口:应该返回其实现类
#4、内部类(了解)
##4.1内部类:就把类定义在别的类的内部,此类就叫内部类
根据定义的位置不同,可以分为:
成员内部类
局部内部类
##4.2内部类的成员访问:
外部类访问内部类:需要实例化内部类,才能放访问
内部类访问外部类:可以直接访问
##4.3内部类实例化方式:
非静态内部类
外部类.内部类 变量名 = new 外部类().new 内部类();
静态内部类:
外部类.内部类 变量名 = new 外部类.内部类();
##4.4局部内部类:
定义在方法内部,或者代码块内部
局部内部类访问局部变量时,需要注意:
局部变量必须是final类型:
因为局部变量随着方法的结束而消失,而对象的引用不会立即消失,所以需要保证局部变量的生命周期。
##4.5匿名内部类(掌握)
定义:其实内部类的简化方式
前提:有类(普通类或抽象类)或者接口
格式:
new 类名或接口(){
//重写方法
}
本质:其实就是继承了某个类或者实现某个接口的子类的匿名对象
开发中使用:
当我们看到一个参数类型是个抽象类或者接口时,就要知道需要传递其子类或实现类
如果这个类的方法仅仅需要调用一次,我们就使用匿名内部类来实现。
interface Inter {
void show();
}
class Outer {
//补齐代码
public static Inter method(){
return new Inter(){
void show(){
System.out.println("HelloWorld");
}
};
}
}
class OuterDemo {
public static void main(String[] args) {
Outer.method().show(); //"HelloWorld"
}
}
##1.1接口定义:
1、java中就接口是通过关键字interface来表示的
interface 接口名
2、java中实现接口是通过关键字implements表示的
class 类名 implements 接口名
3、接口不能实例化,如果要实例化,是需要通过多态是实例化
接口名 变量名= new 实现类
##1.2接口的特点:
1、定义的方法默认是抽象方法
默认使用:public abstract
建议自己给出
2、定义的变量,都是常量
默认使用 public final static
3、接口里不能定义构造方法
##1.3接口的继承
接口可以多重继承
格式:
接口名 extends 接口1,接口2
##1.4接口的实现
接口的实现类必须实现接口的所有方法
注意:一个类可以继承一个类,同时实现多个接口
子类 extends 父类 implements 接口1,接口2
*
#2接口和抽象类的区别:
1、成员区别
抽象类:
成员变量:变量,常量
成员方法:抽象方法,普通方法
构造方法:可有,用于子类初始化父类属性
接口:
成员变量:常量
成员方法:默认是抽象方法
构造方法:没有
2、关系区别:
类与类:
只能单继承
类与接口:
可以有单实现,多实现
接口与接口:
可以有单继承,多继承
3、开发过程中,建议使用接口(先在都强调的是面向接口编程)
#2、返回值类型
返回值类型:
基本类型:较为简单,不讲
引用类型
类 数组 枚举 接口
如果返回类型是引用类型
普通类:那就应该返回他自己的实例,或者子类的实例
抽象类:应该返回子类实例
接口:应该返回其实现类
#3、形式参数
基本类型:较为简单,不讲
引用类型
类 数组 枚举 接口
如果形式参数类型是引用类型:
普通类:那就应该返回他自己的实例,或者子类的实例
抽象类:应该返回子类实例
接口:应该返回其实现类
#4、内部类(了解)
##4.1内部类:就把类定义在别的类的内部,此类就叫内部类
根据定义的位置不同,可以分为:
成员内部类
局部内部类
##4.2内部类的成员访问:
外部类访问内部类:需要实例化内部类,才能放访问
内部类访问外部类:可以直接访问
##4.3内部类实例化方式:
非静态内部类
外部类.内部类 变量名 = new 外部类().new 内部类();
静态内部类:
外部类.内部类 变量名 = new 外部类.内部类();
##4.4局部内部类:
定义在方法内部,或者代码块内部
局部内部类访问局部变量时,需要注意:
局部变量必须是final类型:
因为局部变量随着方法的结束而消失,而对象的引用不会立即消失,所以需要保证局部变量的生命周期。
##4.5匿名内部类(掌握)
定义:其实内部类的简化方式
前提:有类(普通类或抽象类)或者接口
格式:
new 类名或接口(){
//重写方法
}
本质:其实就是继承了某个类或者实现某个接口的子类的匿名对象
开发中使用:
当我们看到一个参数类型是个抽象类或者接口时,就要知道需要传递其子类或实现类
如果这个类的方法仅仅需要调用一次,我们就使用匿名内部类来实现。
interface Inter {
void show();
}
class Outer {
//补齐代码
public static Inter method(){
return new Inter(){
void show(){
System.out.println("HelloWorld");
}
};
}
}
class OuterDemo {
public static void main(String[] args) {
Outer.method().show(); //"HelloWorld"
}
}
阅读全文
0 0
- java基础第十天 接口
- 传智博客JAVA基础第十天
- Day10第十天java基础---------异常
- Java基础---第十天 面向对象异常
- java基础———第十天
- 接口+GUI-第十天
- Java基础---第十一天 多线程
- Java基础笔记-第十记
- Java基础第十九天--GUI
- java基础第十一天 异常
- java基础第十五天 集合
- java基础第十八天 多线程
- Java基础部分第十三节
- Java基础部分第十五节
- Java基础部分第十八节
- Java学习总结第十九天Java接口
- 基础加强第十天
- Android基础第十天
- Qt应用MySQL小结
- JSP开发运行环境
- Python读写数据库和乱码问题解决
- java学习第五天
- nyoj 115城市平乱
- java基础第十天 接口
- [题解]codeforces444c DZY Loves Colors
- bzoj 2292: 【POJ Challenge 】永远挑战 SPFA
- RecyclerView....
- 二维数组的基础知识
- HDU 1024 Max Sum Plus Plus DP+滚动数组
- extjs 负责人和部门的级联
- Codevs 1268 选择我自己的算法
- (HDU