首页 > 基础资料 博客日记
java——接口
2024-06-24 11:00:04基础资料围观271次
Java资料网推荐java——接口这篇文章给大家,欢迎收藏Java资料网享受知识的乐趣
学习目标:
- 了解接口的作用
- 了解接口的使用和注意事项
- 清楚接口和继承的区别(重点掌握)
- 熟悉接口的使用
- 清楚接口与抽象类的区别
接口的作用
接口是公共的行为规范,在使用的时候只要满足规范标准,就可以通用。
在java中接口就是多个类的行为规范,是一种引用数据类型。
比如:在笔记本的usp接口处,只要设备满足usp的规范标准,就可以插入笔记本。
接口的使用和注意事项
接口的语法定义
关键字:interface
public interface 接口名称{
//抽象方法
public abstract void method1();//public abstract 是固定搭配
void method2();
}
注意事项:
- 1.创建接口时,接口的命名一般以大写字母I开头;
- 2.接口的命名一般用形容词;
- 3.接口中的方法和属性不要加任何的修饰符号,保持代码的简洁性;
接口和继承的区别
接口
接口是事物A有行为B的能力,强调拥有某个行为的能力 (A has B)
比如:小猫有吃饭的能力,人也有吃饭的能力,但小猫和人不是一个类。
继承
继承是事物A属于事物B的一类,强调从属关系(A is B)
比如:小猫有动物的全部特征,狗也有动物的全部特征,所以小猫和狗都是动物类的子类。
接口的调用
语法规范
public class 类的名称 implements 接口名称{
//....
}
注意:
- 子类和父类之间是extends的继承关系;
- 类和接口之间是implement的实现关系;
接口的函数调用
接口常配合类的方法调用,因为接口就是一种行为规范,强调有的关系。
语法规范:限制符 返回值类型 方法名称(接口类型 接口变量){//...}
接口的注意事项
- 接口是一种引用类型,但是不能之间new接口的对象;
- 接口每一个方法都默认指定public abstract;
- 接口中的方法是不能在接口中实现的,只能由实现接口的类来实现;
- 接口中不能由静态代码块和构造方法;
- 如果类没有实现接口所以的抽象方法,则类必须设置为抽象类
接口与抽象类的区别
接口 | 抽象类 | |
---|---|---|
组成部分 | 抽象方法+全局变量 | 普通类+抽象方法 |
子类使用 | 使用implement关键字 | 使用extends关键字 |
权限 | public | 各种权限都有 |
子类限制 | 一个子类可以有无数的接口 | 一个子类只能继承一个抽象类 |
关系 | 一个抽象类可以实现若干个接口 | 接口可以继承多个父类接口 |
内部类
内部类的分类
内部类就是一个类里面还有一个类,内部类可以分为以下四种:
- 静态内部类
- 实例内部类
- 局部内部类
- 匿名内部类
静态内部类
语法规范外部类.内部类 类变量名= new 外部类.内部类;
注意事项
- 静态内部类只能访问内部成员;
- 如果想访问外部成员,可以先实例一个外部类,通过外部类来调用;
public class Outclass {
int a1=1;
int a2=2;
//静态内部类
public static class InterClass1{
int a3=3;
int a4=4;
void test1(){
Outclass outclass1=new Outclass();
System.out.println(outclass1.a1);
System.out.println(a3);
System.out.println("test....");
}
}
public static void main(String[] args) {
//静态内部类
Outclass.InterClass1 interclass1=new Outclass.InterClass1();
interclass1.test1();
}
实例内部类
语法规范外部类 变量名称1=new 外部类;
外部类.内部类 变量名称2=变量名称1.new 内部类;
注意事项:
- 实例内部类必须先实例化外部类,然后通过外部类调用内部类
public class Outclass {
int a1=1;
int a2=2;
class InterClass2{
int a3=3;
int a4=4;
void test2(){
System.out.println(a1);
System.out.println(a2);
System.out.println(a3);
System.out.println("test...");
}
}
}
public static void main(String[] args) {
//实例内部类
Outclass outclass2=new Outclass();
Outclass.InterClass2 interClass2= outclass2.new InterClass2();
interClass2.test2();
}
局部内部类
注意事项:
- 局部内部类只能在方法内;
- 局部内部类只能在外部类内调用;
public class Outclass {
int a1=1;
int a2=2;
public void test(){
//局部内部类
class InterClass3{
int a1=10;
void test3(){
System.out.println("test3...");
}
}
InterClass3 interClass3=new InterClass3();
interClass3.test3();
}
匿名内部类
语法规范new 类().方法;
或者new 类(){方法重写}.方法;
实例:
public class Outclass {
int a1=1;
int a2=2;
void test4(){
System.out.println("test4....");
}
}
public static void main(String[] args) {
new Outclass(){
@Override
void test4() {
System.out.println("test4....hh");
}
}.test4();
new Outclass().test4();
}
文章来源:https://blog.csdn.net/2302_80396926/article/details/139277699
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: