重写:
1、必须发生在子类中
2、父类中需要有同名方法
3、参数列表和返回值相同
4、限定符要求只能更大或等于不能更小(public是最大的)
5、带上@override 方便读者清楚是重写的方法
6、可以通过super调用同名父类方法
7、在对象执行时 会先寻找有没有重写若没有则调用父类方法
构造方法:构造方法名儿与类名相同;构造方法不返回任何值 也没有返回值类型 ;构造方法在创建对象时使用,其他地方不能显示的直接调用
Java构造方法
当新对象被创建的时候,构造方法会被调用。每一个类都有构造方法。当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,这时默认的构造函数就没有了。
Java中构造方法重载和方法重载很相似。可以为一个类创建多个构造方法。每一个构造方法必须有它自己唯一的参数列表。
Java不支持像C++中那样的复制构造方法,这个不同点是因为如果你不自己写构造方法的情况下,Java不会创建默认的复制构造方法。
构造方法的方法名必须与类名相同
构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
构造方法可以重载,以参数的个数,类型,顺序。
构造方法是一个特殊的方法。
方法结构:
访问修饰符 类名(参数列表){方法体}
构造方法重载。
在没写构造方法是 有一个默认的
类名(){}构造方法
this()是调用本类不带参构造方法;
super()是调用父类不带参的构造方法;
构造方法和方法的类似之处在于它们都包含可执行代码,区别在于,只有当Java类实例化时才执行构造方法。构造方法通常包含类属性初始化代码,从严格意义上说,构造方法并不是方法,因为它不会返回任何值。
public class A{
int i=0;
public A(){
i=2;
}
public A(int i){
this.i=i;
}
}