1、什么是实例成员和类成员?
??????实例成员中是属于对象的,即属于对象级别的,它包括实例成员属性(也称为实例成员变量)和实例成员方法,只有创建了对象之后才能访问实例成员属性和实例成员方法。
?? ? ? 类成员是属于类的,类成员包括类成员属性(也称为类成员变量)和类成员方法,通过类名可以直接访问类成员变量和调用类成员方法。类成员不需要伴随对象,也就是说即使没有创建对象,也能够引用类成员,类成员也可以通过对象引用。类成员需要用关键字static标识,也称为静态成员。
?
2、成员变量与局部变量
在类体中变量定义部分所声明的变量为类的成员变量,它在整个类内都有效;而在方法中声明的变量为局部变量,它只在定义它的成员方法内才有效,声明成员变量不能使用修饰符和static。
???????? 声明成员常量和声明局部常量,虽然都使用final关键字,但声明成员常量时必须为该常量赋值,而声明局部变量时可以先不为其赋值。
???????? 当局部变量与成员变量名字相同时,成员变量就会被隐藏,这时如果想使用成员变量,就必须使用关键字this。
?
(修饰符:
?
修饰符???????????????????????
类
成员访求
构造方法
成员变量
局部变量
abstract(抽象的)
√
√
-
-
-
static?(静态的)
-
√
-
√
-
public(公共的)
√
√
√
√
-
protected(受保护的)
?
√
√
√
-
private(私有的)
-
√
√
√
-
synchronized(同步的)
-
√
-
-
-
native(本地的)
-
√
-
-
-
transient(暂时的)
-
-
-
√
-
volatie(易失的)
-
-
-
√
-
final(不要改变的)
√
√
-
√
√
访问修饰符
同一个类
同包
不同包,子类
不同包,非子类
private
√
?
?
?
protected
√
√
√
?
public
√
√
√
√
默认
√
√
?
?
?
完)
1)break:在switch语句中用于中止下一个case比较,在循环语句中用于强行退出循环。
2)continue::只能应用在循环语句中,让程序直接跳过其后面的语句,进行下一次循环。
3)default:在switch语句中进行匹配不成功的处理。
?
?
3、重写与重载的区别
重写(overriding):也叫覆写、改写或重构,它是指在类继承时,子类重新定义了从父类继承来的方法。它用于父子之间,子类中声明与父类同名的方法,从而覆盖了父类的方法。重构解决了子类与父类的差异问题。方法重写需要遵循的规则如下:
1.????方法名称一定要一样;
2.????返回值数据类型要一样;
3.????所使用的参数要一样;
4.????修饰符的使用权限只能越开放,不能越封闭。public-->protected-->(default/package)-->private
5.????用final修饰的方法将不能再被重写。
?
重载(overloading):是指在同一个类中,有多个同名方法,只是方法的参数列表不同,适用于不同的调用情况。通俗的说是一个类中声明了多个相同名字的但可区分的方法。重载也有规则要遵守:
1.????方法的名称一定要一样;
2.????传入的参数类型一定要不一样。