一.静态方法的推导 public class MainTest { public static void main(String[] args) { // 正常情况下我们需要通过写一个consumer的方法来调用 testConsumer("abc",(s)->System.out.println(s)); System.out.println("====================="); //但是我们只是将一个内容输入,没必要这么麻烦,jdk1.8 已…
虚方法:使用virtual关键字定义,当子类继承父类时,可以对父类中的虚方法进行重写. 如下面代码中的类B,它继承类A,类A实现了接口I(实现了接口中的foo()方法).在类A中使用virtual将foo()方法定义为虚方法,故在子类B中就可以重写foo()方法.这样就不会执行类A中的foo()方法,只执行类B中的foo()方法.类B中使用override关键字定义foo()方法,表示该方法复写了父类中的虚方法. base.foo(); 在子类中如果需要用到父类虚方法中的数据,可以在子类的覆盖方…
推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种 1.列表推导式也叫列表解析式.功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表格式:用中括号括起来,中间用for语句,后面跟if语句用作判读,满足条件的传到for语句前面用作构建先的列表 [x**2 for item in item_list if item>2] 例子: >>> li=[i*2 for i in range(10) if i % 2 == 0] >>…
类方法   实例方法是以+开头的方法, 实例方法是用实例对象访问:   类方法的对象是类而不是实例,通常用来创建对象或者工具类.     在实例方法里,根据继承原理发送消息给self和super其实都是发送给self     在类方法里面self是其他的类的类方法,在类方法中给self发送消息只能发给类方法self或者是类super      什么时候用类方法,要创建一个实例时候获取一个共享实例,或者获取关于类的一些共有信息 1.实例方法/动态方法 a).标识符:- b).调用方式:(实例对象 …
推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持: 列表(list)推导式 字典(dict)推导式 集合(set)推导式 一.列表推导式 1.使用[]生成list 基本格式 variable = [out_exp_res for out_exp in input_list if out_exp == 2] out_exp_res: 列表生成元素表达式,可以是有返…
在JDK1.8以前,接口(interface)没有提供任何具体的实现,在<JAVA编程思想>中是这样描述的:"interface这个关键字产生了一个完全抽象的类,它根本就没有提供任何具体的实现.它允许创建者确定方法名.参数列表和返回类型,但是没有任何方法体.接口只提供了形式,而未提供任何具体实现". 但是这一限制在JDK1.8中被打破了,JDK1.8开始,接口允许定义默认方法和静态方法. 接口默认方法的语法很简单,即: default关键字 methodName(参数列表)…
C# 动态方法和静态方法的区别 (转) 动态方法与静态方法的区别: 1,使用方法上的区别:动态方法,在使用时需要先创建实例,才能调用实例方法,而静态方法则不需要,直接使用即可. 示例代码如下:静态方法不需要实例化类就能调用 class ClassA    {        public static string MethodB()        {            return "Hello World";        }    } 用法:ClassA.MethodB();…
一.简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性. 在本文中我们将学习这些新特性,并用实际的例子说明在什么场景下适合使用. 包含Java开发者经常面对的几类问题: 语言 编译器 库 工具 运行时(JVM) 二.Lambda表达式和函数式接口 Lambda表达式(也称为闭包)是Java 8中最大和最令人期待的语言改变.它允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理:函数…
推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种 1.列表推导式也叫列表解析式.功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表格式:用中括号括起来,中间用for语句,后面跟if语句用作判读,满足条件的传到for语句前面用作构建先的列表[x**2 for item in item_list if item>2] 例子: 1 >>> li=[i*2 for i in range(10) if i % 2 == 0] 2 >&…
属性 如果你已经了解Python类中的方法,那么属性就非常简单了,因为Python中的属性其实是普通方法的变种. 哎,其实就是这样,我们看一下当我们想查看税后工资的时候,这其实是一个人的属性,但是它却要经过一些特殊的处理或者计算,让我们必须写在一个方法里,这个时候我们使用@property这个修饰符,就可以像使用字段一样调用这个方法了.对,属性是处女座就是这么矫情!!!当然如果你和我一样是神经大条的射手座,完全不用care这个属性什么鬼的. 尽管如此,在这里还是要说一说要注意一下几点: 1.定义…