1.覆盖和重载的区别,构造方法可以被覆盖和重载吗?
区别 | 覆盖(重写) | 重载 |
---|---|---|
实现上 | 子类对父类方法的重写 | 同一个类中建立多个同名方法 |
参数 | 与父类同名同参 | 与别的方法同名不同参 |
返回 | 子类与父类返回类型要一致 | 无此要求 |
权限 | 子类不能覆盖父类的private方法 | 无此要求 |
父类一个方法只能在子类覆盖一次 | 重载只要参数不同,可以多次 | |
覆盖是针对父类方法的重写 | 同类中的方法均可重载 | |
重写要求子类比父类抛出更少的异常 | 无此要求 |
首先:什么是构造方法?构造方法的特点是什么?
概述:构造方法存在于类中,给对象数据(属性)初始化;
特点:方法名与类名一样;无返回值无void;
默认构造方法:我们不创建一个构造方法时,系统默认提供一个无参构造;当我们创建一个构造方法时,系统不再提供无参构造,所以在实际项目中,全部手动给出无参构造
其次:什么是重载?什么是重写?
重载:存在于在一个类中,方法名相同,方法参数的类型或个数不同
重写:存在于子父类中,方法名、方法参数、返回值全部相同
所以:构造方法可以重载,不能重写
在一个类中,可以有多个构造方法(方法参数不同) ,即重载,来实现对象属性不同的初始化;
但是子类中不能定义一个方法无void无返回值的方法,编译错误,即子类无法继承构造方法,但是子类的构造器中可以调用父类的构造方法(默认自动调用无参构造)
2.String和StringBuffer区别是?
简单写一下,
string是final修饰不可变
StringBuffer和StringBuilder可变
StringBuffer线程安全
StringBuilder线程不安全
简答题还有一个问http,一个问数据库基本的增删改查操作写sql
编程题第一个是字符串,好像是把后面删除重复字符后找最小的字符
编程题第二个题目就一页纸,没看懂。。。
大三参啥都没复习呢去加春招找虐的,,,