多态的好处
多态作为面向对象的三大特性之一,多态可以提高代码的复用性,解决程序中的紧
耦合问题,提供程序的可扩展性。
多态是如何实现的
父类是抽象类 方法是抽象方法 子类重写父类的方法。
父类是虚方法(有方法体 可以实例化) 子类重写父类的方法。
小结
虚方法一定要有方法体(哪怕只是大括号),抽象方法一定没有方法体
虚方法可以被子类重写,抽象方法必须被子类重写
如果我们不需要使用父类创建对象,它的存在只是为供子类继承。可以将父类写成抽
象(关键字abstract)类,将父类的方法写成抽象方法,子类中的方法仍用关键字
override重写
抽象类不能被实例化
多态是指类可以有多种形态,通过修改可以形成多个的实现方法。
当子类从父类继承时,它会获得父类的所有方法、字段、属性和事件
若要更改父类的数据和行为,通常有两种选择,
第一种是在子类的访问修饰符后加new,就是隐藏了基类(父类)的方法,第二种
是在子类中重写父类的方法 更换方法里的内容。
String为神马不是基本数据类型
String本身就是一个对象而不是一个基本数据类型 String的变量名是对String
类的引用。
==栈和队列的区别是什么? ==
队列允许头出尾进,而栈只允许从栈顶进出。
简单说:吃多了拉就是队 列;吃多了吐就是栈
==死锁是怎么产生的?怎么解决死锁的问题? ==
答:死锁是多个进程竞争共享资源产生的,若无外力作用,
这些进程将永远无法前进。
==重载和重写的区别? 子类可以重载父类的方法吗? ==
答:重载:指的是同名的方法拥有不同的参数列表,
而系统调用函数是能够根据参数列表选择正确的方法。
重写:指的是是对父类方法的一种覆盖。
子类不可以重载父类的方法,只能重写。
数据库基础
事务的四个特性
答:事务,是应用程序中一系列严密的操作,所有操作必须全部完成,
否则在每个操作中的更改都会被撤 销。也就是说,一个事务中的所有操作要么全部执行,要么全不执行。
四个特性:ACID
A:原子性,事务是数据库的逻辑工作单位,事务中包含的操作,要么都做,要么都不做。
C:一致性,事务执行的结果必须是使数据库从一个一致性状态到另一个一致性状态。
I :隔离性,一个事务的执行不能干扰其他事务。
D:持续性,也即永久性,指的是一个事务执行后对数据库数据的更改是永久性的。
什么是索引?
索引相当于数据库的目录 使得查询效率更快。
索引的类型
普通索引:最基本的索引类型,而且没有唯一性的限制
唯一性索引:这种索引和前面的普通索引基本相同 但有
一个区别:索引的列所有的值只能出现一次 必须唯一。
主键索引:是一种唯一性索引但它必须指定为primary key
等等
HashMap与HashSet哪个更快?它们有什么不同?
HashMap:1.实现了Map接口
2. 存储键值对
3.用put方法往map中填入元素
4.HashMap用键值来计算hashcode值
5.HashMap比较快因为他是用唯一的键
来获取对象
Hashset
1.实现了set接口
2.存储的仅仅是对象
3.使用add方法往set里面加元素
4.HashSet使用成员对象来计算hashcode值,
对于两个对象来说hashcode可能相同,
所以equals()方法用来判断对象的相等性
如果两个对象不同的话,那么返回false。
5.HashSet较HashMap来说比较慢