首页 > 基础资料 博客日记

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进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云