广西网站运营最好的公司,网页制作免费版,微信自助建站系统,网店推广新技术是哪些一、Static修饰符
static是静态的意思#xff0c;基本概念如下#xff1a;
Static分类#xff1a;
一般我们分类都是按照是否使用static修饰进行分类。分为静态变量#xff08;类变量#xff09;、实例变量。 静态变量和实例变量的比较#xff1a;
比较#xff0c;…一、Static修饰符
static是静态的意思基本概念如下
Static分类
一般我们分类都是按照是否使用static修饰进行分类。分为静态变量类变量、实例变量。 静态变量和实例变量的比较
比较只要记住一点其它的就都很好理解了。静态变量在内存空间只有一份。 使用场景 应用实例 需要注意静态方法只能访问静态实例。不能访问实例变量。 一二、单例模式 饿汉式模型 懒汉式模型 应用场景 main()方法解释 加了static之后可以看作是程序的入口。 一三、代码块
代码块就是用来初始化类和对象的信息。根据初始化的内容不同分为静态代码块和非静态代码块。
基本概念 代码块的使用 一四、类中属性赋值顺序
笔试题常考 二、final修饰符
概念
final修饰符表示最终的用在类、方法、变量。在方法里代表地址不能变。在变量上表示变量内容不能变。在类里无法被继承。
而前面学到static修饰符它更多的用在代码块对属性赋值时用的比较多。 final修饰变量的分类 三、抽象类和方法
抽象就是只有方法签名没有方法体。分为抽象类和抽象方法。它的具体实现主要在于重写抽象方法。而且重写抽象类的属性叫做implement不是ovriding
基本概念 只用于修饰类和方法。不能用于修饰属性 具体使用 作用范围常考 三二、模板方法设计模式
TemplateMethod 看这个模板设计模式其实就是抽象类的一个特性它表明在抽象类里面可以写抽象方法也可以写非抽象方法。而在继承的子类里面只需要重写抽象方法即可。
疑惑: 前面说抽象类的实例化必须由子类全部重写父类的方法才能实现类的实例化。那这种模板设计模式应该是不会重写抽象类的非抽象方法的。那直接实例化是否会报错
可以直接实例化子类那也就是说没有全部重写父类的方法只重写父类的抽象方法。子类是可以运行的不会被认作抽象类。 三三、接口重点
接口其实就是和抽象类一样的特性不过和抽象类不同的是它们不是继承关系而是实现关系也不是子类和父类的关系而是接口相当于父类和实现类的关系。接口也有多态性。它和抽象的不同就是它没有构造器。用不了super和this的方法。
概念
就是“能不能”相当于某一个功能性的实现 样例模型
声明属性不要忘记添加static final声明方法不要忘记添加abstract。 接口的特性 新增两种匿名对象的方式 面试题区分抽象类和接口 继承和接口的综合使用 三四、JDK8和JDK9的接口新特性
JDK8之前方法的修饰必须加上public abstract。
JDK8之后可以调用默认方法静态方法static。
知识点1接口声明的静态方法只能由接口调用。不能由其实现类调用。 知识点2接口声明的默认方法可以被实现类继承。相当于实现类继承接口的默认方法。有重写的特性。 知识点3类实现两个接口这两个接口有同名同参的默认方法。若实现类没有重写这两个默认方法就会报错。接口的默认方法冲突 知识点4子类继承父类然后又实现了接口。但是父类和接口有同名同参的方法。默认调用父类的方法。类优先原则。 知识点5在实现类中调用接口里被重写的方法。接口.super.方法() 四、内部类
内部类其实就是创建在一个类中的另一个类它和外部类的关系是this关系不是继承也不是实现。内部类的作用是可以实现“高内聚低耦合”的开发原则。
基本概念 分类 需要掌握
创建内部类的实例、在内部类调用外部类的结构。 成员内部类的理解 创建内部类的实例考
有两种类型的创建方式分为静态内部类的创建实例new 类.类非静态内部类的创建实例类对象.new.类。 接口内部类的三种匿名方式
这个Comparable是jdk自带的一个类。 内部类传值常考 五、枚举类
枚举类也是一种类它和class修饰的类不同的是枚举它不能在测试里面随意创建它的对象。枚举相当于是已经在此类里面创建好了实例。
概念 枚举类的实现
在JDK5之前实现在类的外部不能创建其对象也就是实现枚举的方式
第一步声明当前类的对象的实例变量声明属性。外不可见
第二步私有化类的构造器。 在外部不能创建对象。
第三步创建类的实例。public static final。声明常量对象。外可见 jdk5之后直接使用枚举类 枚举类的使用方式
主要在平常例子里面我们创建好了枚举类之后怎么使用它。下面介绍了几种方式主要记住枚举类型[ ] values()。它返回该对象的数组。 测试实例 枚举类实现接口
实现对应于继承关系 枚举的类型
分为无参的枚举这种情况下没有构造器没有重写tostring方法。
带参的枚举这种情况下有构造器需要根据需要重写tostring方法。