【JavaSE】抽象类与接口(下篇)

简介: 【JavaSE】抽象类与接口(下篇)

✨hello,进来的小伙伴们,你们好呐!✨

🍱🍱系列专栏:【JavaSE】🍵

🥞🥞本篇内容:JavaSE部分接口知识从0到1的分享(对准知识点阅读喔!)

🍊🍊作者简介:一名大二即将升大三的科班编程小白,我很平凡,学会努力!

🍼🍼码云存放仓库gitee:https://gitee.com/king-zhou-of-java/java-se.git

接口:

✈️✈️一、接口的概念

接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用。

在Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型。

🍊举例说明:比如电脑的USB接口。

54309dea318a4802bcae84f65a6f586d.jpeg

插座的接口。

676ed3820e4b492380a170e9fdb9792a.jpeg

⛵⛵二、语法规则

接口定义方式:

🌯🌯1:首先在我们的idea里我们鼠标左键选中src,然后右键新建一个java Class。

f1799cf78caa49e3ae707fd509d71d27.png

🍖🍖2.在弹出来的图框中我们选择第二个interface。


de80995d1cf6400e92588233f8a6b27c.png

🥐🥐 3.这样我们就新建好了一个接口。

   public interface Idemo1 {

       // 在接口中上述写法都是抽象方法,推荐方式2,代码更简洁

       public abstract void way1();

       void way2();

       abstract void way3();

   }

🥮🥮4.我们一般创建接口时, 接口的命名一般以大写字母 I 开头,例如我举的例子接口名就是Idemo1。

⛴️⛴️三、接口使用

注意:接口不能直接使用,必须要有一个"实现类"来"实现"该接口,实现接口中的所有抽象方法。

比如我们在接口中实现way1();我们会发现,编译器就自动报错了。

63f21142441a46869c37e24a733e64d7.png

解决方法:定义一个类实现该接口:

🥞🥞1.当我们定义了一个类之后,我们没有实现该接口中的抽象方法,我们发现编译器会报错:

267851543b294c75abe834046d2440e0.png


解决方案:实现该接口中的方法:

🥔1.首先我们在这个类中鼠标右键找到generate

a5b9c1d072384f3fbd09124fcd7cae15.png

🍏3.进去之后我们可以看到有我们要实现的方法,如果有多个方法的话,我们按住键盘上的Ctrl+鼠标左键选中所有的抽象方法,然后点击OK即可。

e75f5e5bca7d44ed843d97e374fb7c21.png

🍐4.成品(这个@Override起标识作用,系统会自动添加,不用深究)

0196188e690d4397a06b5938449a88e5.png

5.测试使用,我们定义一个主类TestDemo1,然后实例化一个对象t1,调用我们的way1()函数。

   public class Testdemo1 {

       public static void main(String[] args) {

           test1 t = new test1();

           t.way1();

       }

   }

运行结果:

1610f6e8dbb344d59782b9ddc76ce5eb.png

🚟🚟四、接口特性

🍤1. 接口类型是一种引用类型,但是不能直接new接口的对象。

4799bca1d770441cbb2327fb28ece733.png 

🌯2. 接口中每一个方法都是public的抽象方法, 即接口中的方法会被隐式的指定为 public abstract。

比如我们写一个protected方法,编译器就会报错。

2e3c990a859c4459ab80de8d6eb1b4f1.png

🚰3. 重写接口中方法时,不能使用default访问权限修饰。

277204f67de64673b582695cd7320974.png

💊4. 接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量。

585530ad9ed246edb8efb7cd6b56739e.png

🍗5. 接口中不能有静态代码块和构造方法。

72aedf40dc86457b8b817dcb8d3d5841.png

相关文章
【JavaSE专栏64】抽象类和接口,不能被实例化的类有什么用?
【JavaSE专栏64】抽象类和接口,不能被实例化的类有什么用?
217 0
|
5月前
|
存储 Java 编译器
JavaSE基础:类和接口
JavaSE基础:类和接口
|
6月前
|
设计模式 Java
JavaSE 面向对象程序设计进阶 抽象类和接口 2024年详解
JavaSE 面向对象程序设计进阶 抽象类和接口 2024年详解
43 0
【JavaSE】Java基础语法(十五):继承
1. 继承的实现 继承的概念 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新 定义,以及追加属性和方法 实现继承的格式 继承通过extends实现 格式:class 子类 extends 父类 { } 举例:class Dog extends Animal { }
|
7月前
|
Java
JavaSE学习之--抽象类,接口,内部类(一)
JavaSE学习之--抽象类,接口,内部类(一)
98 0
|
7月前
|
存储 Java 机器人
JavaSE学习之--抽象类,接口,内部类(二)
JavaSE学习之--抽象类,接口,内部类(二)
59 0
|
7月前
|
存储 Java 编译器
JavaSE学习之--抽象类,接口,内部类(三)
JavaSE学习之--抽象类,接口,内部类(三)
43 0
|
Java 编译器
JavaSE抽象类和接口
JavaSE抽象类和接口
|
存储 Java C++
《JavaSE-第十章》之抽象类与接口
《JavaSE-第十章》之抽象类与接口
138 0
JavaSE/抽象类与接口
JavaSE/抽象类与接口