众所周知,C#作为一门OOP(面向对象程序设计)语言,在许多地方都有与C++相似的地方,然而也有很多不同的地方。说到面向对象,脑袋里第一反应当然就是面向对象的三大原则(java中是四大原则):封装、继承、多态。java中还包括抽象。在此不做过多讨论。今天要讨论的虚方法、抽象方法、抽象类、接口所有的一切都是以多态作为基础的,所以让我们聚焦多态————多态是什么?多态(Polymorphism)按字面
**********************第九章 抽象类和接口************************** **************************抽象类************************** 一.why 什么时候想到使用抽象类 需求: 矩形、三角形、圆形 方法: ...
分类:
编程语言 时间:
2018-11-05 01:14:25
阅读次数:
244
一.Service是四大组件之一,是没有界面的activity,可以用于做一些耗时的操作,比如后台下载等 生命周期如下 二.如何定义一个Service 1.创建一个类继承android:app.Service类,并实现抽象方法,onCreate(),OnStartCommand,onBind(),o ...
分类:
其他好文 时间:
2018-11-04 14:21:52
阅读次数:
230
抽象类: 1.抽象类不能实例化对象 2.抽象类存在的目的是为了让子类继承 3.抽象类的定义和普通类定义一样,只不过前面需要加一个关键字,abstract 4.抽象类里面一般都要有抽象方法(可以没有),抽象方法是用来让子类实现的,而且子类必须实现,不实现就会报一个致命错误 5.抽象方法必须public ...
分类:
其他好文 时间:
2018-11-02 19:08:26
阅读次数:
144
Lambda 1.Lambda表达式概念 Lambda表达式是一个匿名函数,可理解为是一段可以传递的代码(即将函数像数据一样传递)。 Lambda表达式需要函数式接口(即只有一个抽象方法的接口)的支持。 Lambda操作符:->,该箭头一样的操作符将Lambda表达式拆分成两侧, 其中左侧写Lamb ...
分类:
其他好文 时间:
2018-11-02 16:38:53
阅读次数:
151
关于比较排序比较的接口 或者是类有:java.lang.Comparable<T>接口, 一个抽象类通过实现这个接口可以进行自然排序,也就是一个如果一个自定义类通过implements关键字实现Comparable<T>接口,并且要重写这个接口中的CompareTo()抽象方法,可以再这个方法中定义 ...
分类:
编程语言 时间:
2018-10-28 22:33:12
阅读次数:
357
近期公司的新项目中使用了很多jdk1.8新特性,特来做个小结 一.Lambda表达式的使用 lambda表达式也叫函数式编程 :Lambda需要函数式接口支持,并且接口中的抽象方法只能有一个函数式接口:接口中只有一个抽象方法的接口,称之为函数式接口。可以使用@FunctionalInterface修 ...
分类:
其他好文 时间:
2018-10-27 22:35:54
阅读次数:
258
为什么引入抽象工厂模式? 或者说抽象工厂模式与工厂方法模式的区别? 工厂方法模式针对的是一类产品的等级结构,而抽象工厂模式针对的是多个产品等级结构(一个产品族)。 引入概念:产品族与产品等级 产品族:指在不同的产品等级结构中,功能相关联的产品组成的家族。产品等级:同类产品的不同产品区分。 抽象工厂的 ...
分类:
其他好文 时间:
2018-10-25 15:47:56
阅读次数:
197
一、什么是抽象类? 在父类中,有一些子类的共同方法,但这些方法在父类中没有具体的实现,这样的方法就称为抽象方法,在方法头中使用abstract修饰符表示。包含有抽象方法的类就称为抽象类。 在UML图形记号中,抽象类和抽象方法的名字用斜体表示。 抽象类不能使用new操作符创建它的实例。抽象方法只有定义 ...
分类:
其他好文 时间:
2018-10-23 18:17:14
阅读次数:
216
对于面向对象编程来说,抽象是它的一大特征。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有很多相似的地方,又有很多不同的地方。 一、抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。其声明格式为: 抽象方法必须用abstr ...
分类:
编程语言 时间:
2018-10-22 14:56:34
阅读次数:
172