1.什么是面向对象?
万物皆对象,面向对象就是我们针对某一个单独且实实在在存在的事物,他有自己的特征和行为,在我们JAVA中可以理解为对象是类的具体,那么类是对象的抽象!比如:我们的建筑图纸,那么这个图纸就是我们的对象!
类就是对象的抽象,对象是类的具体表现!
2.请写出Java中常用的几种循环语法结构
1) for循环
for(初始化表达式; 条件表达式; 循环后的操作表达式) {
循环体;
}
2) while
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
3) do……while
初始化语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
3.构造方法和普通方法有什么区别?
格式区别:
构造方法和类名相同,并且没有返回类型,也没有返回值。
普通成员方法可以任意起名,必须有返回类型,可以没有返回值。
作用区别:
构造方法用于创建对象,并进行初始化值。
普通成员方法是用于完成特定功能的。
调用区别:
构造方法是在创建对象时被调用的,一个对象建立,只调用一次相应构造函数;
普通成员方法是由创建好的对象调用,可以调用多次。
4.什么是方法的重载?
Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。
两同三不同原则:
1) 两同:同一个类,同一个方法名
2) 三不同:参数类型不相同,参数个数不相同,参数顺序不相同
注意:
1、只有返回值不同不构成方法的重载(与返回值无关)
2、只有形参的名称不同,不构成方法的重载
3、与普通方法一样,构造方法也可以重载
5.请详细说明Overload和Override的区别?
override(重写,覆盖)
1)方法名、参数、返回值相同。
2)子类方法不能缩小父类方法的访问权限。
3)子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4)存在于父类和子类之间。
5)方法被定义为final不能被重写。
6)被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
overload(重载,过载)
1)参数类型、个数、顺序至少有一个不相同。
2)不能重载只有返回值不同的方法名,与返回值无关。
3)针对于一个类而言。
4)不能通过访问权限、返回类型、抛出的异常进行重载;
5)方法的异常类型和数目不会对重载造成影响;