网站首页 > java教程 正文
在Java中,类是面向对象的重要内容。可以将类当做一种自定义类型,可以使用类来定义变量,使用类定义的变量叫做引用变量。
- 定义类
类的定义格式如下:
[修饰符] class 类名 {
零个或多个构造器定义;
零个或多个成员变量定义;
零个或多个成员方法定义;
}
对于修饰符而言,可以为public、final或abstract,当然也可以缺省,缺省时即我们常说的默认。至于类名,则和Java的标识符命名规则一致,或者可以说,类名是Java标识符的一种。
在类中,构造器、成员变量和成员方法都属于类的成员。其中,构造器是创建对象的关键。创建对象可以不用new,但是却不能没有构造器,因为通过反射方式也需要借助构造。当我们未手动编写构造器时,Java会默认提供一个无参的构造器。而成员变量则用来存储该类或该类实例的数据状态,方法则用来定义该类或该类实例的行为或功能。
这三个成员都可以定义零个或多个。如果三者都未定义,则视为空类。从语法上讲允许,但在实际中却意义不大。
一般情况下,类的各个成员之间的顺序可以任意指定,唯一需要注意的就是,static修饰的类无法访问非static修饰的成员变量。
- 定义成员变量
定义成员变量的语法如下:
[修饰符] 类型 成员变量名 [=默认值];
对于修饰符可以为public、protected、private、static、final。其中,public、protected、private只能出现一个。
对于类型而言,则是Java中所允许的所有类型,也就是我们认知的基本数据类型和引用数据类型。
对于成员变量名而言,命名规则遵循Java标识符的命名规则。
对于默认值而言,我们既可以指定,也可以不指定。不指定的时候,系统会根据类型给出对应的默认值。
- 定义方法
定义方法的语法如下:
[修饰符] 方法返回值 方法名(形参列表) {
零条或多条可执行语句;
}
对于修饰符而言,可以为:public、protected、private、static、final、abstract。其中,public、protected、private最多只能出现其一。
对于方法返回值而言,可以是Java所允许的所有数据类型,也就是我们认知的基本数据类型和引用数据类型。如果声明了返回值,则在方法中必须包含return语句,return语句返回的既可以是一个变量也可以是一个表达式,只要该变量的类型或表达式运算后的结果的类型与返回值类型匹配(要么与返回值类型相同,要么是返回值类型的子类)即可。若不需要有返回值,则需声明返回值类型为void。
对于方法名而言,与Java标识符的命名规则 保持一致。
对于形参列表而言,由零个或多个“参数类型 参数值”组合而成,以逗号进行间隔,形参列表声明了该方法可以接受的参数。
对于方法体内的可执行语句,一般情况下是顺序执行的。
- 定义构造器
定义构造器的语法如下:
[修饰符] 构造器名(形参列表) {
零条或多条可执行语句;
}
对于修饰符而言,可以是public、protected、private。
对于构造器名而言,必须与类名保持一致。
对于形参列表而言,表示了该构造器所能接收的参数,由零个或多个“参数类型 参数值”组合而成,以逗号进行间隔。
需要说明一点的是,构造器是没有返回值的,或者说返回值不能由我们手动来指定。因为构造器的返回值是通过new生成的对象的地址,因此我们不能手动来指定返回值,即使是void也不允许。
虽然我们为构造器指定了返回值也能通过编译,但实际上,加了返回值的构造器已经变成了一个与类名相同的普通方法,而非构造器。
- 上一篇: java 9 集合工厂方法:快速创建只读集合和“标识符优化”
- 下一篇: Java小白入门必懂知识点
猜你喜欢
- 2025-01-05 Java 17 Reflection 反射 Field 篇
- 2025-01-05 带你学java核心技术图形程序设计:颜色+为文本设定特殊字体+图像
- 2025-01-05 多学习才能多赚钱之:c语法与java语法区别
- 2025-01-05 这可能是全网Java学习路线最完整最详细的版本
- 2025-01-05 我把Java基础编程及思维导图整理的超级详细,小白都能看懂
- 2025-01-05 深入Java Swing用户界面组件布局管理器:网格布局+面板+边界布局
- 2025-01-05 50个常见 Java 错误以及如何避免它们
- 2025-01-05 Java错误排行:50种常见bug及如何避免它们(一)
- 2025-01-05 我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊
- 2025-01-05 Java句柄与指针
你 发表评论:
欢迎- 04-24Java Collections 工具类集合框架中常用算法解析
- 04-24桶排序的简单理解
- 04-24Java集合框架底层实现原理大揭秘
- 04-24Java 集合框架全面解析:选对数据结构,提升开发效率
- 04-24c#集合排序
- 04-24Java面试中常被问到的集合类深度解读
- 04-24VBA技术资料MF278:对集合进行排序
- 04-24Spring 最常用的 7 大类注解,史上最强整理
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)