类的基础
2021/6/14 10:21:38
本文主要是介绍类的基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
类的组成
面向对象是一种编程思想,而 Java 的设计则很好的诠释了这一概念
一个类由属性、方法两部分组成
- 类变量:类本身具有的属性
- 类方法:类本身具有的方法
- 实例变量:类的对象具有的属性
- 实例方法:类的对象具有的方法
类变量、实例变量可以统称 成员变量,而类变量也可以称作 静态变量、静态成员变量
类方法、实例方法可以统称 成员方法,而类方法也可以称作 静态方法、静态成员方法
简单理解为,类属性、类方法是类本身所具有的;实例属性、实例方法依赖于类的对象
类的组成部分 示例
public class Person { /* 类变量 */ private static String name; /* 实例变量 */ private Integer age; /* 类方法 */ public static void eat(String food) { } /* 实例方法 */ public void sing(String sing) { } }
成员变量与局部变量
类的成员变量与方法的局部变量存在区别
书写位置:成员变量位于类中、方法体外;局部变量位于方法体、代码块中
内存位置:成员变量位于堆内存;局部变量位于栈内存
类型默认值:成员变量存在默认初始值
;局部变量不存在
作用域:成员变量作用域整个类;局部变量只在方法体、代码块中有效
生命周期:成员变量自类、对象的创建到销毁;局部变量随着方法、代码块的执行完毕而释放
类的实例对象
类在实例化之后,可以得到该类的对象,称为 实例对象,实例化的关键字是 new
Animal animal = new Animal();
new
在堆内存中,为实例对象开辟 新的存储空间,需要格外注意
当一个类实例化之后,其中的实例变量、实例方法才可以被调用
而对于静态成员变量、方法,则无需类的实例化,区别在于关键字 static
被 static
声明的属性、方法,在类加载时创建,属于类本身,由所有实例对象共享
类在实例化以后,可以获得一个该类的对象,并操作其中的实例属性、实例方法
类的构造方法
在类中,存在一个特殊的方法,构造方法
构造方法存在以下几点
- 构造方法名与类名保持一致
- 构造方法不存在返回值,也不应该有返回值
- Java默认提供无参的构造方法,若重载了有参构造,则不再提供
- 构造方法可以私有化,应用于特定的场景
需要注意的一点,若重载了构造方法,必须手动声明无参构造
this 关键字
this
关键字指代当前实例对象,存在三种用法
- this. 属性名:指代当前的实例属性,见于构造方法的重载
- this. 方法名:指代当前的实例方法
- this():用于构造方法中,调用其它的构造方法,置于构造方法首行
static 关键字
static
关键字用于修饰类变量、类方法、代码块以及内部类,意为 静态
静态的属性、方法,在类加载时一并创建,优先级高于实例对象的属性、方法
- 简单的说,静态属性、方法不能访问非静态的属性、方法,反之则可以访问
- 静态的属性在类加载时即初始化,该类所有的实例对象则共享一份静态属性
- 静态代码块存在于类中,在类加载时执行,仅执行一次
简单的理解为,static 修饰的类属性优先创建,被多个实例对象所共享使用,数据唯一
这篇关于类的基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27数据结构与算法面试题详解及练习
- 2024-12-27网络请求面试题详解与实战
- 2024-12-27数据结构和算法面试真题详解与实战教程
- 2024-12-27网络请求面试真题解析与实战教程
- 2024-12-27数据结构和算法大厂面试真题详解与实战指南
- 2024-12-27TS大厂面试真题解析与应对策略
- 2024-12-27TS大厂面试真题详解与解析
- 2024-12-27网站安全入门:如何识别和修复漏洞
- 2024-12-27SQL注入基础教程
- 2024-12-27初学者指南:理解和修复跨域漏洞