java对象中的属性,方法

1、什么是属性?有几类属性?

属性是用于修饰或者对对象拥有的某一个基础名词,如颜色,年龄。

目前java有的是

静态属性

跟着类初始化,在所有的类的实例化对象内都可以取到,存放在方法区内。和应用程序的生命周期相同。

对象属性

跟着对象初始化,在创建的对象内才可以取到,存放在内存的堆中。随着GC的回收而销毁。

局部变量

跟着方法初始化,在方法内部才可以取到,存放在内存的栈中。当方法运行完后就会被销毁。

2、属性的修饰词

private 修饰后为私有属性,仅当前类可以使用,子类不可使用不可继承

缺省修饰 仅本类和同包下可以调用

protected 子类可以使用,同包可以使用,本类可以使用

public 所有类可以使用

3、为什么需要不同的修饰词

private 私有属性,意味着其他类不能随意的修改,要修改只能通过其他方式,如提供方法进行获取,如果说这个属性是不变的属性,而其他类有权限对其修改的话,那么意味着这个属性就会变化,如果我们只提供一个获取值的方法,那么这个就能保护好了

对于 余下的修饰符来说,也就是权限不一样,主要还是根据继承以及封装特性来进行权限的分级。

4、final 修饰的属性

final修饰的属性是不可变的属性

5、什么是方法?有几类方法?

方法就是解决问题的一种方式。传入参数,对参数处理后得到一个最终的结果,或者没有结果产生,中途对某些东西进行了修改。

目前java有的方法:

静态方法:

跟着类一起初始化,可以使用class对象来调用。

抽象方法

没有具体实现的方法,更多的是一种规范。

普通方法

普通的实现方法,处理一段逻辑。

构造方法

初始化某一类数据的方法,如类的构造方法,以及属性的构造方法

6、方法的入参

方法的入参是处理一段逻辑所需要的一系列所需。

推荐方法最多传4个入参,如果入参太多可能意味着你方法的颗粒度还太大,可能不太符合单一职责原则,对于后续维护不太友好。

方法的传参问题?都是值传递。

方法传参,参数可以是对象,那么就有一个问题,对象是有值和指针的,那么传入的参数进行了修改后,到底改的是入参的指针还是值呢?

可以分为三类:

入参为普通的数据类型,会将原有的数据复制一份传到方法内,方法修改不会造成原有数据的改变。

入参为String以及包装类,也会新建一个新的对象,因此方法修改不会造成原有数据的改变。

入参为引用类型,会复制一个新的地址传给方法,当给地址对应的对象进行修改,那么对象的值会被修改,但是如果此时如果新建一个新的对象,将新的对象赋值给入参,由于入参是复制的地址,当方法运行结束这个复制的地址引用会被删除,这样原本的对象的地址是没有变的,因此也不会指向方法内新建的对象的。所以可以说这里也是值传递,传递的是地址的值,而不是地址的引用。

7、方法的返回

方法不一定非要有返回值

如果有返回值,那么方法必须返回一个值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值