Java创建对象

类的构造函数

类的构造函数像一个方法,但是没有返回类型(也没有void),方法名称与类的名称完全相同。

可以通过new操作符,调用构造函数,创建一个类对象

Bicycle bicycle = new Bicycle;

类可以声明多个构造函数,但不能具有相同的参数列表。即,类中不能存在方法签名相同的构造函数。

编译器会自动为没有显式声明构造函数的类,创建一个无参构造函数(no-argument constructor)。但是当类现实声明了有参构造函数,编译器就不再自动创建无参构造函数。

public class Bicycle {
    private int speed;
    private int gree;
    private int cadence;
    private boolean moving;
    public Bicycle(){
    }
    public Bicycle(int speed){
        this.speed = speed;
    }
    public Bicycle(int gree, int cadence){
        this.gree = gree;
        this.cadence =cadence;
    }
}

一个类可以声明多个构造函数,基于不同构造函数创建对象并初始化属性值。

预初始化不同属性,但参数个数及类型相同。即,参数列表相同,无法编译

创建对象是基于类提供的构造函数,而不是基于类型创建对象。即,new,类的一个构造函数,而非new,一个类的名称,创建对象。

this,表示当前对象的引用;可以通过this,在实例方法或构造函数中引用当前对象的成员变量。

所有实例方法,都隐式包含一个引用当前对象的变量,名称为this。当方法引用类的实例变量时,编译器隐式的使用this获取当前对象的实例变量。

显式构造函数调用,在构造函数中,可以使用this关键词调用同一类中的另一个构造函数

创建对象

创建一个对象的基本步骤

1、声明

2、实例化

3、初始化

声明

进生命了一个可以引用指定类型对象的变量,声明并不会创建一个对象,必须为其分配一个对象地址才能使用。

实例化

new操作符为对象分配内存,返回对象的内存地址给变量

初始化

new操作符实例化的同时,调用构造函数完成对象的初始化。

访问器

基于封装的思想,实体类中封装的属性数据,对外通过提供访问器(getter/setter)实现。

对外直接暴露成员变量,将无法改变其表现,无法执行辅助性操作(例如限制变量值的范围等)。基于面向对象的封装思想,对成员变量的操作必须通过访问器(Accessor)实现

CC:访问器getter/setter方法命名规范。方法基于驼峰式命名,get/set首字母小写,属性名称首字母大写;boolean类型属性的getter方法以is为前缀,因此,boolean类型属性禁止使用is字母开头;getter/setter方法名称必须与属性名称一致,第三方库基于此命名规范反射

可通过构造函数初始化必选属性后期添加修改其他属性,外界仅能通过getter/setter方法访问封装在对象内部的属性值。

将对象的引用传递给方法,对对象的修改可以影响对象本身。

想使用其它包中的public类型(类、接口)等,必须通过以下任意方式:

1、通过包含,包名以及类型名称的,全限定性名称(fully qualified names),使用该成员。这种方法会降低程序的可读性。

2、导入包成员,在package声明语句后,类型定义语句前,通过import关键词引入。通过类型名称使用。

com.example02.clazz.Bicycle成为了当前类的包成员因此,可通过类型名称直接使用。

3、导入成员的整个包,通过*号通配符,导入特定包中的所有类型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值