Java学习

Java 类与对象

Java是面向对象的语言,那么到底什么是对象呢?

对于Java的学习,我们首先要知道两个概念:类、对象

类就像是一个集合,同一类型的集合
对象就是类中的一个实例

例如人就是一个类,每个人都是人这一类中特定的一员

Java 对象与对象引用

我们知道了对象是什么,又出现了另一个让人混淆的概念:对象引用
对象引用又是什么呢?

对象通常是通过new语句创建
例:
Person person = new Person(“A”);

Person 是一个类 那么person是什么呢 是对象还是对象引用
上面的这个对象创建,我们也可以这样做:
Person person;
person = new(“A”);如果person 是对象的话,那么下面的这句话也是创建一个新对象(矛盾),所以这里的person就是我们所说的对象引用

那么对象和对象引用到底有什么区别呢?
对象就是类的实例,是存储在堆内的
对象引用就是指向对象的指针,像是对象的名字,我们要通过对象的引用来对对象进行操作。

Java 可变与不可变

对于类来说,类的可变与不可变指的是:类对象的值是否是可变的
例如String类是不可变类的,下面的这个语句:

 String a = new String("A");
 a.concat("B");

"A"是String的一个对象,"A"的值是不可以改变的,所以经过上述操作,我们会创建一个新的对象:“AB”,此时对象的引用是可变的,a指向这个对象。

例如StringBuilder是可变类

StringBuilder a = new StringBuilder("A");
 a.append("B");

“A"是可变类的一个对象,所以"A"的内容可以改变,直接改变为"AB”,对象的引用不改变,指向"AB",对象引用的改变就相当于是看”改变“了没有,对用的引用指向对象的值改变了,但对象的还是那个对象,指针不变。

对于引用来说就是是否可以指向不同的对象
若我们将上面的操作改为

final String a = new String("A");
a.concat("B");

上面的操作会引发错误,因为现在对象"A"改变了,产生了新对象“AB”,本来a应该是指向“AB”的,但是这里规定了a是不可变类,所以就引发了错误。

这只是我学了Java Mutability and Immutability 内容的一点点总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值