1。四种访问控制符
public protected default private
2。方法覆盖
注意:覆盖方法的可访问性不能比其要覆盖的方法弱。
3。super关键字的用法:
eg:
class B extends A{
super.println();
public void println(){}
}
class A{
public void println(){}}
(new B()).println;//此句话会调用super.println(),这个时候调用这个方法的对象是new B()对象。
4。instanceof运算符
5。对象类型转换
# 始终允许类层次中向上转换,事实上,这种转换不需要转换运算符。可以由简单的赋值完成。
eg:class B extends A
转换示例:A a=new B();// 将类B转换成类A;如果这样转换将产生错误:B b=new A();
#对于向下转换,编译器要求转换至少必须是可能的。
#如果编译器允许转换,则在运行时检查对象类型。
6。构造器
子类从父类可以继承所有的变量和方法,但它不能继承构造器。
调用构造器时,总是先递归调用父类的构造器。
在构造器中使用super和this关键字时,必须放在构造器的第一行。
7。Object类的几个方法
注:如果覆盖Object的equals方法,都应该覆盖hashCode方法来保证相同对象的hashCode值相同。
8.Wrapper类
8种基本类型对应8种包装类
J2SE5.0的自动装箱基本类型:
eg:
int pInt=420;
Integer wInt=pInt;//不需要使用这样的语句:Integer wInt=new Integer(pInt);
intp2=wInt;
9。varargs
eg:public void sum(int...nums)<===>public void sum(int[] nums)
scjp:
1)子类不能继承父类的构造器
2)构造器中调用this和super语句,则必须放在构造器中的第一句