面向对象接口

简介: 面向对象接口

接口就是多个类的公共规范

接口是一种引用数据类型,最重要的内容就是其中的:抽象方法

如何定义一个接口:

public interface 接口名称 {

//接口内容

}

接口内容可以有:常量,抽象方法

接口中定义抽象方法的格式:

public abstract void 方法名称(){}

public abstract void methob();


接口的抽象方法中必须有这两个修饰符 public abstract

接口抽象方法的使用

接口不能直接使用抽象方法,需要有实现类来实现接口

public class 实现类名称 implements 接口名称{ // }

public class Shix implements Jiek {
    @Override
    public void methob() {
    }


需要覆盖重写(去掉adbtract)加上大括号 测试类测试并且调用

public class Ces {
    public static void main(String[] args) {
        Shix shi = new Shix();
        shi.methob();
        shi.methob1();
    }
}


接口里定义默认方法

格式:public default 返回值类型 方法名称(参数列表){ 方法体 }

默认方法也可以被覆盖重写

public default void methob1(){
  System.out.println("这是默认方法");
}
public void methob1(){
  System.out.println("已被重写");
}


接口里定义静态方法

public static void 静态方法名(){ 方法体 }

只能通过接口名.静态方法名 来调用

public static void methob2(){
    System.out.println("这是静态游戏");
}
Jiek.methob2();


接口私有方法

普通私有方法:解决多个默认方法之间重复代码问题 private 返回值类型 方法名称(){ // 方法体 }

静态私有方法:解决多个静态方法之间的代码重复问题 private static 返回值类型 方法名称(){ //方法体 }

接口的常量定义和使用

接口当中也可以定义成员变量 但是必须使用 public static final三个关键字进行修饰 从效果上来看这其实就是接口的常量

public static final 数据类型 常量名称 = 数据值; 一旦赋值就不可修改 接口中的常量必须进行赋值

建议命名规则:字母完全大写并用下划线分割

public static final int i = 1;


继承父类并实现多个接口的

接口是没有静态代码块或者构造方法的

一个类的直接父类是唯一的但是一个类可以同时拥有多个接口


相关文章
|
4月前
|
存储 开发框架 Java
|
5月前
|
Java 数据安全/隐私保护 开发者
Java是一种完全支持面向对象编程的语言,其面向对象特性包括封装、继承、多态和抽象等
【6月更文挑战第18天】**面向对象编程(OOP)通过对象封装状态和行为,实现问题域的抽象。Java全面支持OOP,核心特性包括**: - **封装**:保护数据安全,隐藏内部细节。 - **继承**:子类继承父类属性和行为,促进代码重用。 - **多态**:一个接口多种实现,增强灵活性和扩展性。 - **抽象**:通过接口和抽象类抽离共性,简化复杂性。 **Java的OOP便于理解和解决复杂系统问题。**
54 3
|
5月前
|
C++
C++ 是一种面向对象的编程语言,它支持对象、类、继承、多态等面向对象的特性
C++ 是一种面向对象的编程语言,它支持对象、类、继承、多态等面向对象的特性
|
算法 Java 编译器
类和面向对象
类和面向对象
105 0
|
6月前
|
Java
Java面向对象程序设计5接口与抽象类
Java面向对象程序设计5接口与抽象类
61 0
【面向对象】抽象类和接口
【面向对象】抽象类和接口
|
6月前
|
编译器 C++
[C++] 面向对象的三大特性:封装、继承和多态
[C++] 面向对象的三大特性:封装、继承和多态
76 0
|
设计模式 数据安全/隐私保护
面向对象编程基础:封装、继承、多态与抽象的全面解析
面向对象编程基础:封装、继承、多态与抽象的全面解析
134 0
浅谈 面向对象三大特性:封装 继承 多态
浅谈 面向对象三大特性:封装 继承 多态
88 0
|
Java 编译器
面向对象和封装
面向对象和封装
106 0
面向对象和封装