当前位置: 首页 > news >正文

苏州网站的优化展览展示展厅设计

苏州网站的优化,展览展示展厅设计,厦门做网站多少钱,无锡网络推广哪家好面向对象高级#xff08;5#xff09; 接口 接口就是规范#xff0c;定义的是一组规则#xff0c;体现了现实世界中“如果是...则必须能...”的思想。继承是一个是不是的is-a关系#xff0c;而接口实现则是 能不能的has-a关系。 1、接口的定义格…面向对象高级5 接口 接口就是规范定义的是一组规则体现了现实世界中“如果是...则必须能...”的思想。继承是一个是不是的is-a关系而接口实现则是 能不能的has-a关系。 1、接口的定义格式 接口的定义它与定义类方式相似但是使用 interface 关键字。它也会被编译成.class文件但一定要明确它并不是类而是另外一种引用数据类型。 引用数据类型数组类枚举接口注解。 修饰符 interface 接口名{     //接口的成员列表 //默认方法 default 返回值类型 方法名{ } // 公共的静态常量 public static final 数据类型 变量名//提示前置修饰中public static final可以省略 // 公共的抽象方法public abstract可省略 public abstract 返回值 方法名{ }          // 公共的默认方法JDK1.8以上     // 公共的静态方法JDK1.8以上     // 私有方法JDK1.9以上} 不能声明构造器、代码块。 2、接口的实现 1类实现接口implements 接口不能创建对象但是可以被类实现implements 类似于被继承。 类与接口的关系为实现关系即类实现接口。实现了接口的类称为实现类。实现的动作类似继承格式相仿只是关键字不同实现使用 implements关键字。 修饰符 class 实现类的类名  implements 接口{// 必须重写接口中的抽象方法如果实现类是抽象类那么可以不重写    // 可以重写接口中的默认方法} 修饰符 class 实现类 extends 父类 implements 接口{//必须重写所有的抽象方法} 注意 如果接口的实现类是非抽象类那么必须重写接口中所有抽象方法。默认方法可以选择保留也可以重写。default不能省略。重写时default单词就不要再写了它只用于在接口中表示默认方法到实现类中就没有默认方法的概念了接口中的静态方法不能被继承也不能被重写static不能省略 public interface Ipower { void power();//抽象方法 default void brand(){ System.out.println(famous.); }//默认方法 } public class IpowerTest implements Ipower{//实现接口 public void power(){ System.out.println(Charge.); }//重写抽象方法 public static void main(String[] args){ IpowerTest t  new IpowerTest();//创建实例对象 t.power();//调用重写后的抽象方法 } } 2接口的多实现 对于接口而言一个类是可以实现多个接口的这叫做接口的多实现。并且一个类能继承一个父类同时实现多个接口。 实现格式 1.修饰符 class 实现类  implements 接口1接口2接口3。。。{// 重写接口中所有抽象方法【必须】当然如果实现类是抽象类那么可以不重写    // 重写接口中默认方法【可选】}2.修饰符 class 实现类 extends 父类 implements 接口1接口2接口3。。。{     // 重写接口中所有抽象方法【必须】包括父类中的抽象方法与接口中的抽象方法除非子类也声明为声明为抽象类才可以不重写。    // 重写接口中默认方法【可选】} 接口中有多个抽象方法时实现类必须重写所有抽象方法。如果抽象方法有重名的只需要重写一次。 定义多个接口 public interface A {     void showA();}public interface B {     void showB();} 定义实现类 public class C implements A,B {     Override     public void showA() {         System.out.println(showA);     }     Override     public void showB() {         System.out.println(showB);     }} 定义测试类 public class TestC {     public static void main(String[] args) {         C c  new C();         c.showA();         c.showB();     }} 3接口的多继承 一个接口能继承另一个或者多个接口接口的继承也使用 extends 关键字子接口继承父接口的方法。 子接口的实现类需要将接口中所有的抽象方法都进行重写重名的抽象方法只需要重写一次。 定义父类接口 public interface Chargeable {     void charge();} 定义子类接口 public interface UsbC extends Chargeable,USB3 {     void reverse();} 定义子接口的实现类 public class TypeCConverter implements UsbC {     Override     public void reverse() {         System.out.println(正反面都支持);     }     Override     public void charge() {         System.out.println(可充电);     }} 4接口与实现类对象构成多态引用 实现类 实现接口类似于子类继承父类因此接口类型的变量与实现类的对象之间也可以构成多态引用。通过接口类型的变量调用方法最终执行的是new的实现类对象实现的方法体。 接口名 变量名 new 实现类对象 public class USBTest {     public static void main(String[] args) {        Computer c new Computer();         Printer p new Printer();         c.transferData(p);//USB usb new Printer();实际执行打印机重写后的方法。     }}interface USB{     void start();    void end();}class Computer {     public void transferData(USB usb){        System.out.println(Successfully connect.);         usb.start();         System.out.println(Transferring date...);         usb.end();     }}//通过引用实例变量usb实现USB接口的调用class Printer implements USB{     Override     public void start() {        System.out.println(beginning work);     }     Override     public void end() {        System.out.println(end work);     }} 此处展示有关匿名对象与匿名实现类的书写 public class USBTest {     public static void main(String[] args) {        Computer c new Computer();         Printer p new Printer();         c.transferData(p);//USB usb new Print();实际执行打印机重写后的方法。         System.out.println();         c.transferData(new Printer());//创建实现类的匿名对象         System.out.println();         USB usb new USB() {             Override             public void start() {                System.out.println(beginning work);             }             Override             public void end() {                System.out.println(end work);             }        };         c.transferData(usb);//创建匿名实现类的对象         System.out.println();         c.transferData(new USB() {             Override             public void start() {                System.out.println(beginning work);             }             Override             public void end() {                System.out.println(end work);             }        });//创建匿名实现类的匿名对象     }} 5使用接口的静态成员 接口不能直接创建对象但是可以通过接口名直接调用接口的静态方法和静态常量。 public class TestUSB3 {     public static void main(String[] args) {         //通过“接口名.”调用接口的静态方法 (JDK8.0才能开始使用)         USB3.show();         //通过“接口名.”直接使用接口的静态常量         System.out.println(USB3.MAX_SPEED);     }} 6、使用接口的非静态方法 接口的非静态方法也只能使用“接口名.进行调用不能通过实现类的对象进行调用 对于接口的抽象方法、默认方法只能通过实现类对象才可以调用 接口不能直接创建对象只能创建实现类的对象 public class TestMobileHDD {     public static void main(String[] args) {         //创建实现类对象         MobileHDD b  new MobileHDD();         //通过实现类对象调用重写的抽象方法以及接口的默认方法如果实现类重写了就执行重写的默认方法如果没有重写就执行接口中的默认方法         b.start();         b.in();         b.stop();         //通过接口名调用接口的静态方法//        MobileHDD.show();//        b.show();         Usb3.show();     }} 补充 1类优先原则 当一个类既继承一个父类又实现若干个接口时父类中的成员方法与接口中的抽象方法重名子类就近选择执行父类的成员方法。 2接口冲突 实现类实现了多个接口而多个接口中存在同名同参的方法时编译不通过会报错。此时必须在实现类中重写同名同参的方法。 3解决接口冲突后若仍然想要调用具体的某个接口中同名同参的方法则采用 接口名.super.方法名的写法。 小结 接口本身不能创建对象只能创建接口的实现类对象接口类型的变量可以与实现类对象构成多态引用。声明接口用interface接口的成员声明有限制 1公共的静态常量2公共的抽象方法3公共的默认方法JDK8.0 及以上4公共的静态方法JDK8.0 及以上5私有方法JDK9.0 及以上类可以实现接口关键字是implements而且支持多实现。如果实现类不是抽象类就必须实现接口中所有的抽象方法。如果实现类既要继承父类又要实现父接口那么继承extends在前实现implements在后。接口可以继承接口关键字是extends而且支持多继承。接口的默认方法可以选择重写或不重写。如果有冲突问题另行处理。子类重写父接口的默认方法要去掉default子接口重写父接口的默认方法不要去掉default。接口的静态方法不能被继承也不能被重写。接口的静态方法只能通过“接口名.静态方法名”进行调用。
http://www.hkea.cn/news/14571862/

相关文章:

  • 如何自己做网站腾讯网页设计毕业设计任务书
  • 可以免费做调查问卷的网站集宁做网站
  • 网站站外优化怎么做开网店要建网站平台吗
  • 聊城哪里可以学网站建设呢台州网站公司吗
  • 做游戏小网站是啥百度一下你就知道官网
  • 专业做网站建设设计用凡科做的网站怎么下载
  • 动易做网站如何陕西省住房和城乡建设厅网站首页
  • 省住房和城乡建设厅网站万维网网站服务的名称
  • 网站seo诊断技巧杭州模板建站
  • 网站的开发环境设计搜狗推广后台登录
  • 解决网站兼容性问题互动网站建设公司
  • 做网站怎么样wordpress邮件表单
  • 百度免费网站空间阳新网络推广公司
  • 可信赖的邢台做网站网站对公司的意义
  • 国家级示范建设网站怎么做网站自动采集数据库
  • html5国内网站建设网络系统管理是做什么的
  • 奉贤集团网站建设望牛墩仿做网站
  • 北京网站建设厂家opencart做视频网站
  • 矿区网站建设wordpress如何转换为中文版
  • 中国志愿者服务网站登录注册如何提升网站速度
  • 专业做淘宝网站绍兴英德市住房和城乡建设局手机网站
  • 网页设计欣赏有符号深圳网站建设公司乐云seo598
  • php网站后台进不去php 双下划线 wordpress
  • 云南热搜科技做网站不给源码广告设计与制作工作内容
  • 手机网站建设 jz.woonl伊春百姓网免费发布信息网
  • 该网站在工信部的icp ip地址企业营销类专业网站
  • 免费做网站tk湖州网站建设有哪些
  • 股票网站开发课程网站开发流程图及原型图
  • 网站编辑怎么做wordpress 迁移 ngix
  • 广州货运网站建设网站的基本建设投资