2021年1月3日星期日

接口和抽象类

原文链 id="抽象类">抽象类

抽象方法的声明没有方法体。

abstract void func();

包含抽象方法的类叫做抽象类。

public abstract class Basic{	abstract void func(); protected abstract void func1(); public abstract void func2();}

抽象方法默认是public的,不可以设置为private

接口

在java8之前的接口只允许有抽象方法,是一个完全抽象的类,没有提供任何实现
接口中的属性被隐式指明为static和final

public interface Inter{	int m();}

java8之后允许接口包含默认方法和静态方法
默认方法允许在不破坏已使用接口的代码的情况下,在接口中新增方法

public interface Inter{	int m();	default void newMethod(){		System.out.println("新增方法");	} }

静态方法可以将工具功能放在接口,从而操作接口

public interface Operations{	void execute();		static void runOps(Operations... ops){		for(Operations op : ops){			op.execute();		}	}}

抽象类和接口比较

  • 可以实现多个接口;但只能继承一个抽象类
  • 接口只能包含静态属性,不支持对象状态,成员变量默认是public static final的;抽象类可以包含属性,非抽象方法可能引用这些属性
  • 接口不需要在子类实现默认方法,默认方法可以引用其他接口的方法;抽象类必须在子类中实现抽象方法
  • 接口没有构造器;抽象类可以有构造器
  • 接口隐式为public;抽象类可以为protected

由于本身的博客百度没有收录,博客地 />






原文转载:http://www.shaoqun.com/a/504792.html

跨境电商:https://www.ikjzd.com/

跨境通:https://www.ikjzd.com/w/1329

关键词分析工具:https://www.ikjzd.com/w/1968


原文链id="抽象类">抽象类抽象方法的声明没有方法体。abstractvoidfunc();包含抽象方法的类叫做抽象类。publicabstractclassBasic{ abstractvoidfunc();protectedabstractvoidfunc1();publicabstractvoidfunc2();}抽象方法默认是public的,不可以设置为priv
gtin:gtin
krazy:krazy
英国消费者受到"亚马逊卖家"欺骗,亚马逊为何不提供赔偿?:英国消费者受到"亚马逊卖家"欺骗,亚马逊为何不提供赔偿?
海口免税店五大亮点 :海口免税店五大亮点
ebay账号限制管理:ebay账号限制管理

没有评论:

发表评论