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接口)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统