您的位置:首页 > 财经 > 产业 > 5、(待更)java面向对象的特点(封装、继承、多态)、深拷贝 vs 浅拷贝 vs 引用拷贝

5、(待更)java面向对象的特点(封装、继承、多态)、深拷贝 vs 浅拷贝 vs 引用拷贝

2024/12/23 9:14:58 来源:https://blog.csdn.net/zhiaidaidai/article/details/141831795  浏览:    关键词:5、(待更)java面向对象的特点(封装、继承、多态)、深拷贝 vs 浅拷贝 vs 引用拷贝

java面向对象有哪些特性?

java面向对象主要具有三大特性就是封装、继承、多态。

封装一般是指封装一个类或者一个方法,譬如封装类就隐藏了类的内部实现机制,保护数据隐私,限制了对于数据的不合理操作。需要注意的是,子类拥有父类对象所有的属性和方法(包括私有属性和私有方法),但是父类中的私有属性和方法子类是无法访问,只是拥有。

继承一般是指从已有的父类上派生出新的子类。子类在父类的数据和行为上可以进行特性的拓展,是常说的is a关系,譬如父类是动物,子类是猫,a cat is a animal这种关系就适用于继承。

多态一般是指类与类之间的关系,在有继承,有重写,且父类引用指向子类对象的情况下,我们就称之为多态。

接口方法类型

在 Java 8 及以上版本中,接口引入了新的方法类型:default 方法、static 方法和 private 方法。

深拷贝 vs 浅拷贝 vs 引用拷贝

浅拷贝:会在堆上创建一个新的对象(区别于引用拷贝的一点),不过,如果原对象内部的属性是引用类型的话,浅拷贝会直接复制内部对象的引用地址,也就是说拷贝对象和原对象共用同一个内部对象。

深拷贝:深拷贝会完全复制整个对象,包括这个对象所包含的内部对象。
引用拷贝:就是两个不同的引用指向同一个对象。

举例如下,有两个类,分别是地址类和人类。其中地质类有一个私有的普通属性name,人类有一个私有的引用属性地址类。

public class Address{private String name;
}public class Person {private Address address;
}

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com