网站首页 > java教程 正文
1.类的一般结构
1.类的语法格式
[修饰符] class 类名{
[修饰符] 数据类型 变量名;
… …
[修饰符] 返回值的数据类型 方法名(参数1,参数2,…,参数 n){
… …
return [表达式];
}
… …
}
1.方括号[]通常在编程语言的教材中表示可选项,可以根据实际情况添加这一项,或 不添加。
2.修饰符用来限定在程序其他地方是否可以访问类及其成员变量、成员方法的控制符。 还有一些修饰符是用来扩展或表示其他用途的。
2.类的修饰符
序号 | 修饰符 | 含义 |
1 | public | 公有访问修饰符,公共类,对所有类可见。 |
2 | default | 默认访问修饰符,在同一包内可见。 |
3 | final | 最终修饰符,代表该类为最终类,该类不能被继承。 |
4 | abstract | 抽象修饰符,用于定义抽象类,该类不能创建实例。声明抽象类 的唯一目的是为了将来对该类进行扩充。任何继承抽象类的子类 必须实现父类的所有抽象方法,除非该子类也是抽象类 |
说明1:abstract不能与final修饰同一类。
说明2:在某些情况下,public、default可与abstract、final等非访问修饰符联合使用。
2.成员变量
称类的成员变量为类的属性,这些变量可以是基本数据类型,也可以是引用类型。
1.声明成员变量的语法格式
[修饰符] 数据类型 变量名 [=初始值];
2.关于修饰符
序号 | 修饰符 | 含义 |
1 | public | 公有访问修饰符,公共类,对所有类可见。 |
2 | private | 私有访问修饰符,在同一类内可见。 |
3 | protected | 受保护的访问修饰符,对同一包内的类和所有子类可见。 |
4 | default | 默认访问修饰符,在同一包内可见,不使用任何修饰符。 |
5 | final | 最终修饰符,修饰的变量为常量,是不可修改的。 |
6 | static | 静态修饰符。 静态变量:static 关键字用来声明独立于对象的静态变量,无论一 个类实例化多少对象,它的静态变量只有一份拷贝;静态变量也被 称为类变量;局部变量不能被声明为 static变量。 |
7 | transient | 过渡修饰符,序列化的对象包含被 transient 修饰的实例变量时, java 虚拟机(JVM)跳过该特定的变量。 |
8 | volatile | 易失修饰符,指定该变量可以同时被几个线程控制和修改。 |
说明1:与类修饰符一样,某些修饰符可以同时放在一起,有些则不能。
说明2:在定义类的成员变量时,可以同时赋初值;要想操作成员变量,必须放到方法中。
3.成员方法
类的方法是用来定义类的行为,在方法中通过操作类的成员变量、编写业务逻辑、返回结果等实现类的业务行为。
方法也是类与外界交互的重要窗口。
1.定义方法的语法格式
[修饰符] 返回值的数据类型 方法名(参数1,参数2,…,参数 n){ //n可以=0
… … //方法体 }
在方法体中可以定义变量(局部变量)、编写控制流程等操作,用于实现类的行为,也 即实现方法的目的。
2.关于修饰符
序号 | 修饰符 | 含义 |
1 | public | 公有访问修饰符,公共类,对所有类可见。 |
2 | private | 私有访问修饰符,在同一类内可见。 |
3 | protected | 受保护的访问修饰符,对同一包内的类和所有子类可见。 |
4 | default | 默认访问修饰符,在同一包内可见,不使用任何修饰符。 |
5 | final | 最终修饰符,修饰的变量为常量,是不可修改的。 |
6 | static | 静态修饰符。static 关键字用来声明独立于对象的静态方法。静态 方法不能使用类的非静态变量。静态方法从参数列表得到数据,然 后计算这些数据。 |
7 | abstract | 抽象修饰符,只有方法头,无方法体。 抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类 提供。抽象方法不能被声明成final和static。 |
8 | synchronized | 同步修饰符,synchronized 关键字声明的方法同一时间只能被一 个线程访问。 |
9 | native | 本地修饰符,表示方法体是由其他语言在程序外部完成的。 |
4.成员变量与局部变量的区别
1.语法上
成员变量是定义在类中、方法之外的变量;局部变量是定义在类的方法中的变量,包括 方法参数。 成员变量可以被访问修饰符和静态修饰符修饰,局部变量不行。
2.存储方式上
成员变量是对象的一部分,在对象创建时,一同保存在堆区;局部变量保存在栈区。
3.生存周期上
成员变量与对象一起产生、一起消亡;局部变量只有当对象调用方法时起产生,调用方 法结束时局部变量消亡。
4.初始化情况
程序员即使没有对成员变量显式赋值,系统也会给它们赋一个默认值;局部变量则不行, 必须又程序员显式地为它们赋值。
猜你喜欢
- 2024-10-20 为什么说java是只有值传递?(为什么java只能单继承)
- 2024-10-20 作为测试人员,这些概念你不懂的话,你好意思说你懂Java?
- 2024-10-20 java基础学习笔记(四) - 深度解析八大基础类型
- 2024-10-20 尚学堂java学习笔记:Java各版本的含义
- 2024-10-20 java基础知识——什么是媒体?(解释什么叫媒体)
- 2024-10-20 三分钟学习Java泛型中T、E、K、V、?的含义
- 2024-10-20 吃人的那些 Java 名词:对象、引用、堆、栈
- 2024-10-20 什么是Java架构?(什么是JAVA架构师)
- 2024-10-20 Java中关于引用的介绍(java中的引用是什么意思)
- 2024-10-20 「Java」详解常见的53个关键字(java详解)
你 发表评论:
欢迎- 07-21如何将 iPhone 中的联系人导出到 Excel/CSV?
- 07-21sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 07-21在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 07-21如何把csv格式转换成Excel格式(csv格式怎么转换)
- 07-21如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 07-21使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 07-21解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 07-21使用vba将Excel 文件转成 CSV 文件
- 最近发表
-
- 如何将 iPhone 中的联系人导出到 Excel/CSV?
- sql查询的字段数据中有逗号。放到csv文件会分开,如何解决?
- 在 WebAPI 里生成 csv zip 文件(webapi怎么发布在iis上)
- 如何把csv格式转换成Excel格式(csv格式怎么转换)
- 如何将高程导出为XYZ或CSV高程点(如何将高程数据导入cad)
- 使用python把csv汇总成excel(python怎么将csv文件中的列存入列表)
- 解决PHP导出CSV文件中文乱码问题(php导出excel文件)
- 使用vba将Excel 文件转成 CSV 文件
- python爬虫25 | 爬取的数据怎么保存?CSV了解一下
- MySQL 导出数据(mysql 导出数据 判断成功)
- 标签列表
-
- 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)
本文暂时没有评论,来添加一个吧(●'◡'●)