黑马程序员——Java---构造函数,final关键字
2015-12-14 00:33
393 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
构造函数
构造函数和类名,并且未声明返回值类型
每个类中的构造函数可以在当前类中被覆盖和重写。子类不能覆盖和重写父类的构造函数,因为构造函数是和类名一致的,而子类和父类的名称不能一样。
class myfun
{
/*
myfun(){
//super(); 每个类中都有一个默认的空构造函数
}
*/
myfun(){
//super();
System.out.println("覆盖构造函数");
}
myfun(String name){
//super();
System.out.println("重载构造函数");
}
}
myfun mf = new myfun();//每一个被调用的构造函数的第一行都有一个隐式指向父类的构造函数的调用 supert();
//如果要运行父类中指定的构造函数,可以在子类构造函数中显示的调用super()来指定构造函数,
//所以子类的构造函数运行的时候,父类中的构造函数也会运行
//指向父类的构造函数会一直运行,直到对最终对象的调用Object;
//这个隐式调用可以被显示调用替代,即指向其他函数调用即可
final关键字
可以修饰类,方法,和变量
final class abc //用final修饰后的类不可以被继承
{
final String name="myname";//用final修饰后的变量只能在初始化的时候被修改一次,之后不可再修改。
final void func(){ //用final关键字修饰后的方法不可以被覆盖,但可以重载
}
}