构造方法
- 概念
当创建对象的时候会调用的方法。
- 特点
是一个方法,但是没有返回值,名字必须跟类同名。当我们没有写构造方法的时候,会默认地调用一个无参并且没有内容的构造方法。
- 注意
我们以前认为创建对象的语法是:
类名 对象名 = new 类名();
实际上,语法的含义是:
类名 对象名 = new 构造方法名(参数); - 用途
一般我们会给一个类写多个构造方法,可以通过无参的构造方法去仅仅创建一个对象,也可以通过有参数的构造方法,去给各个属性赋值(初始化)。
接口
- 概念
形式和类比较类似,但是关键字是interface而不是class。用来定义规范的(接口可以定义一些实体应当具备的方法,但是接口并不实现这些方法)。
- 特点
接口中只能存放抽象方法(没有方法体的方法)。接口无法实例化。一个类可以实现多个接口。接口也可以实现多态。
- 用法
接口可以被类实现(类似于继承),并会强制要求实现类必须重写接口的全部抽象方法。
意义
接口用来定义一些规范,活用接口可以更有利于咱们构建项目,所以一个完整的项目设计流程,肯定会先设计好接口,依次定好种种规范,再去具体一步一步写实现类,完成具体功能。编写接口可以让项目的结构更清晰(松耦合),编码更灵活。
对比:接口和抽象
不同点:JAVA中规定只能单继承,而一个类可以实现多个接口,多实现有些时候可以补充单继承带来的灵活性问题,接口在实际应用中起到的纯粹是模板或定义规范的作用。接口中只能存放抽象方法。
抽象类也可以承担模板或定义规范的作用,也可以自行去实现一些方法。抽象类中可以存放一般的方法。
相同点:都可以具有抽象方法。
静态成员
- 关键
static,用static修饰的内容称为静态成员。
- 概念
被static修饰的属性会在类被加载时就创建。一般的属性会在有相应代码执行时才会被声明或赋值。
- 特点
1. 静态属性会在类文件被加载时就声明,所以它的声明时间比非静态的属性要早很多,因此,我们在静态方法中无法调用非静态的属性或方法,但是在非静态的方法中可以调用静态的属性或方法。
2.因为静态属性或方法的生成时间很早,它们生成的时候我们还没有调用相关的创建对象的代码,因此静态成员只跟类有关,跟类的对象不具有对应关系。所以我们一般认为一个类的属性和方法的调用必须要通过该类创建的对象去调用,但是调用静态属性或方法的时候,不需要对象。同时一个类的静态属性因为跟对象不具有相关性,所以会被该类的所有对象共享。
JAVA集合
- 集合
可以认为底层由数组实现,被封装成了类或接口,我们灵活地使用集合可以达到(灵活)保存多条数据的目的。
- Set集合
是无序的,Set集合是一种使用有难度,用得不太频繁的集合。
- List集合
是有序的,非常类似于数组,可以通过下标定位到每个集合里的元素,用法简单,用得最频繁。
- Map集合
是无序的,特点是集合中存放的是键/值对。