文档介绍:()和 this()的区别
This():当前类的对象,super父类对象, 所有的资源都可以访问。
Super():在子类访问父类的成员和行为,必须受类继承规则的约束,在构造函数中,如果第一行没有写super(),,或这个函数被私有化了(用private修饰).()就没有这个要求,因为它本身就进行实例化的构造。
,private,protected,以及不写时的区别
作用域
当前类
同一包(package)
子孙类
其他包(package)
public
√
√
√
√
protected
√
√
√
×
friendly
√
√
×
×
private
√
×
×
×
在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环,例如:
ok:
for(int i = 0 ; i < 10 ; i++){
for(int j = 0 ; j < 10 ; j++){
(i+”*”+j+”=”+i*j);
if(i == 4){
break ok;
}
}
}
。Overloaded的方法是否可以改变返回值的类型?
重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)
重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题。子类方法的访问权限只能比父类的更大,不能更小。如果父类的方法是private类型,那么,子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法。
Overloaded的方法的参数列表不一样,它们的返回者类型当然也可以不一样
,能否作用在long上,能否作用在String上?
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,
所以,这些类型以及这些类型的包装类型也是可以的。显然,
long类型不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它不能作用于swtich语句中。
Jdk7之后是可以用String的
,是引用不能变,还是引用的对象不能变?
使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例