Java类的继承—–构造器,方法的重载
- 构造器
构造器又称为构造方法,是类为了初始化对象而创建的一个方法,没有返回值,名字和类名相同,如果一个类中没有声明构造器,会默认创建一个空的构造器,如果自己创建了一个构造器,那么这个默认创建的构造器就不会存在了。下面是代码:
public class Tset01{
public static void main(String[] args){
Person person=new Person("wangwentao",5);
}
}
class Person{
String name;
int age;
public Person(String _name,int _age){
name=_name;
age=_age;
}
}
2.方法的重载
需要满足两同三不同,
两同即在同一个类内,方法名字要一样
三不同即参数的类型,个数,顺序不同
都可以构成重载。
下面代码
public class Tset01{
public static void main(String[] args){
Person person=new Person("wangwentao",5);
}
}
class Person{
String name;
int age;
/*
这是构造方法的重载
*/
public Person(String _name,int _age){
name=_name;
age=_age;
}
public Person(String _name){
this.name=_name;
}
/*
这是普通方法的重载
*/
public void run(){
System.out.println("跑跑跑");
}
public void run(String _name){
System.out.println(_name+"在跑跑跑");
}
}
然而有时候,这样却不能构成方法的重载,因为两个方法的参数类型是一样的,在使用的时候java虚拟机不知道调用的那一个方法,下面是代码
public class Tset01{
public static void main(String[] args){
Person person=new Person("wangwentao",5);
}
}
class Person{
String name;
int age;
/*
这是普通方法的重载
在这里调用该方法的时候会造成歧义,不能这样使用
*/
public void run(String aaa){
System.out.println(aaa+"跑跑跑");
}
public void run(String _name){
System.out.println(_name+"在跑跑跑");
}
}