主页 > 软件开发  > 

java接口

java接口
为什么会有接口: java的继承问题:一个子类只能继承一个父类( java的单继承) 接口: 一个子类可以实现多个接口 接口本身是抽象的,在其中的方法是抽象方法,变量是抽象 特征 接口用interface实现,子类继承用implements接口中所有的成员变量都是由public static final修饰的(公有的静态常量) 接口中所有的方法默认都是由public abstract修饰的(抽象方法)

接口当中也是没有构造器的,不能被实例化接口当中的方法全部都是抽象方法,和抽象类不一样接口和接口之间可以互相继承(继承的本质:代码的复用) 用extends,任何实现子接口的类都需要实现父接口和子接口内的方法(抽象的) 接口是对方法的抽象, 子类必须实现父类的抽象方法 排序:实现comparable接口,重写里面的抽象方法,实现自定义排序。 Person 与compareTo里面的类型对应 从小到大:(从大到小的话反过来o.age-age) Arrays.sort(数组名) Arrays.sort() 是一个通用的排序方法,用于对数组进行排序。它的实现依赖于对象的比较能力。具体来说: 如果数组中的元素是基本数据类型(如 int[]、double[] 等),Arrays.sort() 会直接比较它们的值。如果数组中的元素是对象类型(如 Integer[]、String[] 或自定义类的数组),Arrays.sort() 会检查这些对象是否实现了 Comparable 接口。 接口本身不能被实例化,但可以作为引用类型来引用实现了该接口的对象。Comparable[]。要求这个类型必须实现Comparable接口 Comparable[] 是一个数组,它的元素类型是Comparable 接口。这意味着这个数组可以存储任何实现了Comparable 接口的对象。例如: Comparable[] arr = {new Integer(5), new String("abc"), new Person("Alice", 25)}; 在这个数组中: Integer 实现了 Comparable 接口。String 实现了 Comparable 接口。Person(假设它实现了 Comparable 接口)也实现了 Comparable 接口。 虽然这些对象是不同类型,但它们都实现了 Comparable 接口,因此可以存储在同一个 Comparable[] 数组中。 接口和抽象类的区别? 抽象类一般作为 父类实现。 抽象类之所以被提出来,原因之一是: 子类会重写父类的方法和变量 抽象类之所以被提出来,原因之二是: 将子类当中共性的代码进行提取 抽象类只需要做 方法的定义,不需要实现。只要继承抽象类, 子类必须实现父类(抽象类)中的抽象方法 抽象类的特点: 由 abstract 修饰的类叫抽象类,由 abstract 修饰的方法叫抽象方法abstract修饰的抽象方法,不在抽象类当中去实现,更多的作为子类必须实现的方法的定义抽象类当中才能有抽象方法,普通类当中不能有抽象方法抽象类当中不一定全是抽象方法,也可以使用普通方法,普通方法可以不用重写抽象类不能被实例化(不能创建它的对象),原因在于没有构造器final 不能和 abstract 同时使用:final关键字作用在类上面不能被继承,final关键字作用在方法上面不能被重写,会冲突抽象方法不能使用static,static是针对类层次,抽象方法是针对对象层次的,所以不能一起使用。子类继承抽象类后,如果不想实现抽象类中的抽象方法,那么子类必须是个抽象类抽象类一定是父类 public class OuterClass { static abstract class AbstractStaticInnerClass { static void staticMethod() { System.out.println("Static method in abstract static inner class"); } abstract void abstractMethod(); } public static void main(String[] args) { AbstractStaticInnerClass.staticMethod(); // 调用静态方法 ConcreteStaticInnerClass concrete = new ConcreteStaticInnerClass(); // 创建静态内部类的实例 concrete.abstractMethod(); } } class ConcreteStaticInnerClass extends OuterClass.AbstractStaticInnerClass { void abstractMethod() { System.out.println("Implemented abstract method"); } }

标签:

java接口由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“java接口