随笔 - 299  文章 - 0  评论 - 0  阅读 - 6322 

4 Java中的类(基础详解)
4.1 类 = 字段+方法
class person{
//name和age属于类中的字段
String name;
int age;
//sayhello()函数属于类的方法
void sayhello(){
System.out.println("嗨嘿嗨");
}
}

4.2 类的修饰符 / 控制符
作用:可以修饰类,也可以修饰类中的成员(字段,方法)

4.2.1 访问修饰符
4.2.1.1 修饰类时
public 或者 没有修饰符 两种情况。前者对所有类可见,后者只在自己的包中可见;

4.2.1.2 修饰成员时
java共有四种控制可见的访问修饰符,分别是:

public: 任何类都可见;

protected: 对本包以及子类可见;

无修饰符: 对本包可见; (包是组织类的一种方式,使用包是为了保证类的唯一性,可以理解为文件夹,在不同的保中可以创建相同的类名)

private: 仅自己的类中对象可见,继承的子类不可见;

Modifier Class Package Subclass World
public Y Y Y Y
protected Y Y Y N
no modifier Y Y N N
private Y N N N
4.2.2 其他修饰符
static:静态的,非实例的,类的

final:

如果一个类被final修饰符所修饰和限定,说明这个类不能被继承,即不会拥有子类
final字段和final局部变量:它们的值一旦给定,就不能更改。
abstract: 抽象类, 不能被实例化。

4.3 对象赋值
浅拷贝:是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地址(引用类型),拷贝的就是内存地址 ,因此如果其中一个对象改变了这个地址,就会影响到另一个对象。

深拷贝:复制变量值,对于引用数据,则递归至基本类型后,再复制。深拷贝后的对象与原来的对象是完全隔离的,互不影响,对一个对象的修改并不会影响另一个对象。深拷贝相比于浅拷贝速度较慢并且花销较大。

直接赋值说明:被赋值的是对象的内存地址。即浅拷贝。

深拷贝的实现方法主要有两种:

通过重写clone方法来实现深拷贝(实现Cloneable接口);
通过对象序列化实现深拷贝(实现Serializable接口)。

posted on   杨申龙  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示