不会导致类初始化的情况、抽象方法、接口、函数式接口、方法引用、Lambda表达式、内部类

不会导致类初始化的情况:1.访问类中无需创建对象的静态常量

                                           2.类对象.class

                                           3.创建该类的数组

                                           4.类加载器ClassLoader的loadClass方法

                                           5.Class.forName的参数为false

抽象方法不能被static、final、native、private修饰

接口和抽象类的区别:

 1、定义的关键字不同,抽象类是abstract class,接口是interface

2、下层发生的关系不同:实现类和接口是implements实现关系,子类和父类是extends关系

3、抽象类是一个特殊的类,特殊在可以有抽象方法和普通方法;接口是一个特殊的抽象类,特殊在接口里 都是抽象方法

4、抽象类有构造方法,用来给子类new时调用;接口没有构造方法,实现类new时调用Object类的无参构造

5、抽象类里有变量有常量.接口里只有常量.

6、抽象类里的方法可以是普通的也可以是抽象的,接口里都是抽象的

7、接口里的资源可以简写: 接口里的常量,可以简写,会自动拼接public static final,接口里的方法,可以简写,会自动拼接public abstract

8、接口和实现类是实现关系,而且可以多实现;抽象类和子类是继承关系,而且是单继承

业务代码思路:

        抽象方法:用来分配工作,让声名过程与实现过程分离,负责功能不会阻塞整体项目进度

        接口:有助于自动化实现代码功能的生成与增强

组件工具代码思路:

        抽象类:整合基础特征,然后基于抽象类开发工具各种特征的具体实现类

        接口:单一特征性的提取

JDK8接口新特性:

        static 静态方法,只能通过接口名调用       

        default 默认方法,只能通过接口的实现类的对象来调用

                静态方法、默认方法都不为抽象方法

@FunctionalInterface 函数式接口检测注解:有且仅有一个抽象方法的接口

函数式接口的抽象方法实现方式:

        JDK1.8-:1.创建接口实现类,创建实现类对象,长期保存,复用

                      2.使用匿名内部类,实现化接口,临时书写

        JDK1.8+:1.使用函数式接口,方法提取创建实例,长期保存,复用

                       2.使用函数式接口,Lambda表达式创建实例,临时书写

方法引用(::):静态方法引用   classname::methodname

                            对象的实例方法引用        instancename::methodname

                            对象的超类方法引用        super::methodname

Lambda表达式:表示当场写一个方法进去

               (参数)->{……};

      可选类型声名:不需要声名参数类型

      可选的参数圆括号:一个参数无需定义()

      可选的大括号:如果方法体只有一条语句不需要使用{}

      可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值无需{return}

特点:主要用来定义行内执行的方法类型接口

                免去了使用匿名内部类的麻烦

                只能引用标记了final的外层局部变量,不能在Lambda内部修改定义在域外的局部变量

Lambda表达式可以调用外部的局部变量和静态常量,但不能修改而方法引用都可以调用,与正常方法相同

内部类:将一个类定义在另一个类里面或者方法里面,这样的类就被称为内部类
                一般在项目组中不推荐使用,不方便统一管理且容易出现使用错误

                内部类可分为:实例内部类、静态内部类、局部内部类、匿名内部类

                        实例内部类中可以调用到外部类的静态变量与静态方法

                        局部内部类可以调用到外部方法的局部变量(不允许修改) 根据所在方法的类型,调用到外部类的实例变量与静态变量(可以修改)不允许创建静态资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值