2021.03.31JAVA面向对象之构造器、this、static、final关键字

24 篇文章 1 订阅

构造方法

作用:完成初始化赋值操作
特点:
1.方法名称必须和类型保持一致
2.不需要定义返回值void
3.构造方法的调用在进行new对象的时候会自动的执行对应的构造方法
4.如果我们不提供构造方法,虚拟机会自动提供一无参的构造器,如果我们书写了构造方法,默认的无参将会被覆盖
5.构造方法也是可以重载的
6.构造方法的书写一般书写两个(A无参,B有参)

对象的创建完全是由构造方法实现的吗?
不完全是 ;创建对象的整个过程分为4步,构造方法的输出只是第3步

this关键字

this代表的是当前对象
this.属性名:获得成员变量,解决了成员变量和局部变量冲突的问题
this()进行构造方法之间的调用,必须放到代码的第一行

static关键字

static修饰的变量
1.这个变量是属于类的,不是属于某一个对象,这个变量是被所有对象所共享
2.static修饰的变量在内存中只有一份
3.静态的变量不属于任何一个对象,所有在访问的时候不需要创建对象
直接【类名.属性名】的方式直接访问
4.静态的变量在方法区中存在的


static修饰的方法
1.静态方法的调用直接使用 【类名.方法】调用即可,不需要new对象
2.静态方法中只可以使用外部的静态变量,不可以使用非静态
3.在静态方法中没有办法使用this(this:this代表的是当前对象,我们在调用静态方法的时候,可能没有创建这个对象)


static优缺点
优点:不需要在进行实例化。静态变量的值,直接赋新值即可,不需要参数传递,之后可以直接进行参数引用即可;静态方法可以直接通过"类名.方法"的形式进行方法调用。通常方法被多次调用,并且方法中没有动态方法引用的时候使用比较方便。

缺点:初始化加载到内存,如果后续没被引用,加大了内存负担和程序运行负担,影响程序运行效率(一般很小),并且静态变量如果多处被引用赋值,很可能导致参数值混乱
如果从线程安全、性能、兼容性上来看 也是选用实例化方法为宜。

final关键字

final:修饰的内容: 变量 方法 类
【1】final修饰的变量就是常量,只可以赋值一次,名称一般是全部大写
【2】final修饰的方式不可以被重写,final代表的就是最终的; final修饰的方法可以被重载
【3】final修饰的类代表的是最终类,是不可以被继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~Amory

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值