面向对象3---构造函数、引用与对象实例定义及其用法

构造函数

在面向对象中有一个非常重要的知识点,就是构造方法。每个类都有构造方法,在创建该类的对象的时候他们将被调用,如果没有定义构造方法,Java 编译器会提供一个默认构造方法。 创建一个对象的时候,至少调用一个构造方法。比如在新建一个对象new Object(),括号中没有任何参数,代表调用一个无参构造方法(默认构造方法就是一个无参构造方法)。构造方法的名称必须与类名相同,一个类可以定义多个构造方法。

构造方法的具体内容:

1、构造方法的名称与类名相同,且没有返回值。它的语法格式如下:

//与类同名,可以指定参数,没有返回值
public 构造方法名(){
//初始化代码
}

下面是一个构造方法的例子:

public class People{
    //无参构造方法
    public People(){

    }
    //有一个参数的构造方法
    public People(int age){

    }
}

又例如具体的构造方法:

public class People {
//属性(成员变量)有什么
    double height;     //身高
    int age;           //年龄
    int sex;       //性别,0为男性,非0为女性

    //构造函数,初始化了所有属性
    public People(double h, int a, int s){
        height = h;
        age = a;
        sex = s;
    }
}
//创建对象,调用我们自己定义的有参构造方法
People XiaoMing = new People(168, 21, 1);

上面的例子中通过new关键字将类实例化成对象,而new后面跟的就是构造方法。于是可以知道new + 构造方法可以创建一个新的对象

2、如果在定义类的时候没有写构造方法,系统会默认生成一个无参构造方法,这个构造方法什么也不会做。

3、当有指定的构造方法时,系统都不会再添加无参构造方法了。

4、构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法。

引用与对象实例

在新建对象实例时,需要为对象实例设置一个对象名,就像这样

Object object=new Object();

那么变量 object 就真的是 Object 对象么,这里其实只是创建了一个 object 对象的引用。这里就和指针一样,变量 object 保存的其实 Object 对象的引用,指向了 Object 对象。
在这里插入图片描述
再看下面的例子

Object object1=new Object();
Object object2=object1;
System.out.println(object1==object2);

运行得到的结果为 true,说明 object1 和 object2 的地址相同(==会比较两个对象的地址是否相同),它们实际上是引用同一对象,如果改变 object1 对象内部的属性,那么 object2 的属性同样会改变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值