Java知识点整理

2018-04-28  本文已影响0人  fool123456

目录

一:Java基础

二:框架

三:数据库

四:页面

五:优化


一:Java基础

1.面向对象的特征有哪些?

抽象、封装、继承、多态

2.面向对象开发的基本原则有哪些?

面向对象开发有六原则一法则:

1)单一职责原则:类的功能要单一

2)开放封闭原则:一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。核心是用抽象构建框架,用实现类实现扩展。

3)替换原则:子类应当可以替换父类并出现在父类能够出现的任何地方

4)依赖倒置原则:具体依赖抽象,上层依赖下层,核心是面向接口编程。

假设B是较A低的模块,但B需要使用到A的功能,这个时候,B不应当直接使用A中的具体类: 而应当由B定义一抽象接口,并由A来实现这个抽象接口,B只使用这个抽象接口:这样就达到了依赖倒置的目的,B也解除了对A的依赖, 反过来是A依赖于B定义的抽象接口。通过上层模块难以避免依赖下层模块,假如B也直接依赖A的实现,那么就可能造成循环依赖。

5)接口隔离原则:接口要小而专,绝不能大而全。接口也应该是高度内聚的

6)合成聚合复用原则:优先使用聚合或合成关系复用代码(组合优先于继承)

7)迪米特法则:又叫最小依赖法则,每个类尽量减少对其他类的依赖。

3.Java中重写和重载是什么意思?

重写(Override)是指子类对父类方法的一种重写,只能比父类抛出更少的异常,访问权限不能比父类的小。同时被重写的方法不能是private的,否则相当于只是在子类中重新定义了一个方法;

重载(Overload)表示同一个类中可以有多个名称相同的方法,但是这些方法的参数列表不一样。构成重载的条件有:参数类型不同,参数个数不同,参数的顺序不同。函数的返回值不同不能构成重载,因为java中调用函数并不需要强制赋值。

4.抽象类和接口的区别有哪些?

抽象类中有抽象方法,还可以有具体方法;接口中的方法必须是抽象方法

抽象类中可以有普通的成员变量;接口中的变量必须是static final类型的,必须被初始化,接口中只有常量,没有变量;

抽象类只能单继承;接口可以继承多个接口

抽象类中的成员变量可以是private的,接口中的成员变量只能是常量,是被public static final修饰的。

抽象类中可以有构造函数,用于给子类对象进行初始化,但是抽象类不能被实例化;接口中没有构造函数

5:抽象类和接口如何选择?

如果要创建不带任何方法定义和成员变量的基类,那么就应该选择接口而不是抽象类;

如果知道某个类应该是基类,那么第一个选择的应该是让它成为一个接口,只有在必须要有方法定义和成员变量的时候,才应该选择抽象类。

因为抽象类中允许存在一个或者多个被具体实现的方法,只要方法没有被全部实现该类就仍然是抽象类。

6:final关键字的用法?

final可以修饰类,方法,变量。

final修饰的类,不能被继承

final修饰的方法,不能被重写

final修饰的变量,只能赋值一次

7.java支持的数据类型有哪些?什么是自动拆装箱?

1)基本数据类型

整数值型:byte, short, int , long

字符类型:char

浮点型:float,double

布尔型:boolean

2)引用类型,包括类,数组,接口

需要注意的是,String不是基本数据类型,而是引用类型。 引用类型声明的变量,是指该变量在内存中实际上存储的是个引用地址,创建的对象实际是在堆中。基本数据类型的包装类型有: Integer 、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger、BigDecmail。

3)自动拆装箱

自动拆装箱,是指基本数据类型和引用数据类型之间的自动转换。 如Integer 和 int 可以自动转换; Float和float可以自动转换。为什么要进行转换?因为基本类型转换为引用类型后,就可以new对象, 从而调用包装类中封装好的方法进行基本类型之间的转换或者toString(当然用类名直接调用也可以,便于一眼看出该方法是静态的), 还有就是如果集合中想存放基本类型,泛型的限定类型只能是对应的包装类型。

8.Java 中集合有哪些?


上一篇下一篇

猜你喜欢

热点阅读