自定义构造器和构造器重载

1.构造器注意的:

如果我们没有显示提供构造器,编译器在编译时会创建一个缺省的构造器,但是如果我们显示定义了一个构造器,则编译器不再创建缺省构造器,可以推论出:一个类至少有一个构造器

2.自定义构造器

package com.JAVABASIS6;
//表示人类
class Person{
String name; //定义一个字段,其初始值为null
//自定义无参数构造器
Person(){
System.out.println(“自定义的无参数构造器”);
}
//自定义有参数构造器
Person(String n){
name =n; //把n参数的值赋给name字段
//对象的初始化操作,可以给字段设置初始值,也可以调用初始化方法
}
//用来演示自定义构造器
public class PersonDemo {
public static void main(String[] args){
new Person(); //输出为”自定义的无参数构造器”,可以看出创建对象调用的是构造器
Person p = new Person(“will”);//表示调用Person类中,带有一个String类型的参数
System.out.println(p.name); //输出为”will”,说明对象确实是调用的是构造器
}
}

3.构造器的重载

1.方法的重载(Overload):
1)重载方法的定义:在同一个类中,某方法允许存在一个以上的同名方法,只要它们的参数列表不同即可(因为参数列表相同,那么方法签名也相同,方法签名相同,编译就会报错)
2)方法重载的作用:屏蔽了同一功能的方法由于参数不同所造成方法名称不同的差异
3)方法重载判断原则:“两同一不同”,两同:同类中,方法名相同;不同,方法参数列表不同(参数类型,参数个数,参数顺序)(只要参数类型,参数个数,参数顺序有一个不同都可以使用方法重载)
2.构造器是一种特殊的方法,也可以存在重载,也存在跟方法的重载一样的”两同一不同”
3.上述的Person类中的两个Person构造器其实就是构造器重载的表现

4.”连连看”游戏涉及的方法的重载

1)”连连看”游戏中,会根据画出的一根线的拐点来判断是否连接成功,一根线只能有:0个拐点,1个拐点,2个拐点。所以得创建一根线这个对象,创建的对象有3种情况,0个拐点,1个拐点,2个拐点
2)代码://这是我们根据游戏建立的构造器,Point 1,Point 2;代表点1跟点2,因为一条线有两个点
class LinkLine{
//没有转折点,划线
LinkLine(Point p1,Point P2){}
//有一个转折点,划线
LinkLine(Point p1,Point turn,Point p2){}
//有两个转折点,划线
LinkLine(Point p1,Point turn1,Point p2){}

你可能感兴趣的:(JAVA面向对象part1)