区别方法重写(覆盖)和方法重载?
方法重写:方法名字、参数列表和返回类型必须相同。类中只允许出现一次这样的方法,要接着往子类当中写入。类中的方法覆盖,父类和子类都可以相同。
方法重载:方法名字相同,参数列表必须要不同,返回类型随意。构造器就是典型的方法重载。
this和super关键字的用法:this表示的本类的方法和成员;super表示父类的方法和成员。this()和super()都必须放在一个方法的开头。
如果子类构造器中没有显式地调用父类构造器,也没有使用this关键字调用重载的其他构造器,则系统默认调用父类无参数的构造器,super()。
块执行:
在一个类中有初始化块要先执行,然后再是构造器。
如:
public class Test
{
String name;
int age;
String sex;
public Test()
{
System.out.println("Test1被调用");
sex ="Male";
System.out.println("name="+name+" ,age="+age+" ,sex="+sex);
}
public Test(String theName)
{
System.out.println("Test2被调用");
name = theName;
System.out.println("name="+name+" ,age="+age+" ,sex="+sex);
}
{
name = "Tony Blair";
age = 50;
sex = "Female";
System.out.println("Test初始化块执行后:name="+name
+" ,age="+age+" ,sex="+sex);
}
public static void main(String args[])
{
Test t=new Test();
}
}