1)public,private,protected,默认的区别
public:表示所有其他类都可以访问。
protected:当前类或子类可以访问,同时相同包内的其他类也可以访问protected成员。
default :默认(没有修饰符):表示本包内可以使用。
private:表示的是在本类内可以使用。
注:
四种访问修饰符都可以修饰成员变量、成员方法以及构造方法,但是只有public,默认这两种修饰符可以修饰类。
2)this 和 super 的区别
this:代表当前对象的本身
this(…):调用本类的构造方法;
this.成员变量:调用当前对象的成员变量;
this.成员方法(…):调用本类的成员方法;
super:代表当前对象的父类
super(…):调用父类的构造方法;
super.成员变量:调用父类的成员变量;
super.成员方法(…):调用父类的成员方法;
3)while 和 do while 和 for 的区别
相同点:
while、do while、for 都是循环语句;
不同点:
while:是先判断条件再执行循环体;
do while:是先执行循环体,再进行判断条件;和while相比较,do while在同样条件下,会多执行一次;
for:循环结构变得更加简单。for循环执行的次数是在执行前就确定的。
Java5 引入了一种主要用于数组的增强型 for 循环。
Java 增强 for 循环语法格式如下:
for(声明语句 : 表达式)
{
//代码句子
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
4)Java中跳出循环关键字
continue:跳出当前本次循环;
break:跳出整个循环;
return:跳出整个循环及当前方法;
5)static 关键字
定义:
static代表“静态”的意思,可以用来修饰内部类、类的成员方法、类的成员变量以及static静态代码块。
static变量和普通变量的区别:
- 所属目标不同
静态变量属于类的变量,普通变量属于对象的变量。 - 存储区域不同
静态变量存储在方法区的静态区,普通变量存储在堆里。 - 加载时间不同
静态变量是随着类的加载而加载,随着类的消失而消失;
普通变量是随着对象的加载而加载,随着对象的消失而消失; - 调用方式不同
静态变量只能通过类名调用,普通变量只能通过对象调用。
6)final、finally、finalize关键字区别
- final:表示该类不能被继承;表示该方法不能被重写;表示该变量是一个常量,只能赋值一次,不能被修改;
- finally:是try{}catch{}finally{} 中的一部分,表示不论发生任何情况都会执行,finally这部分可以省略,但是如果finally存在的话,一定会执行 finally 里面的代码;
- finalize:是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法;