2023.8-java-基本语法

news2024/11/19 1:31:22

基本语法

编写 Java 程序时,应注意以下几点:

  • 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
  • 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
  • 方法名所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
  • 源文件名源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
  • 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。

Java 标识符

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

关于 Java 标识符,有以下几点需要注意:

  • 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
  • 关键字不能用作标识符
  • 标识符是大小写敏感的
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary

Java 变量

Java 中主要有如下几种类型的变量

  • 局部变量
  • 类变量(静态变量)
  • 成员变量(非静态变量)

Java 关键字

下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。

类修饰符:final

在 Java 中,final 是一个修饰符,可以用于修饰类、方法和变量。以下是 final 修饰符的不同应用场景及其含义:

  1. 修饰类:当用 final 修饰一个类时,表示该类是最终类(或称为不可继承的类)。这意味着其他类不能继承这个被 final 修饰的类。例如:final class MyClass { }

  2. 修饰方法:当用 final 修饰一个方法时,表示该方法是最终方法(或称为不可重写的方法)。这意味着子类不能覆盖(重写)这个被 final 修饰的方法。例如:final void myMethod() { }

  3. 修饰变量:当用 final 修饰一个变量时,表示该变量是一个常量,一旦赋值后就不能再改变。被 final 修饰的变量必须在声明的同时或构造函数中进行初始化。例如:final int x = 10;

final 修饰符的使用有以下几个主要的作用:

  • 提供安全性:通过将类、方法或变量声明为 final,可以防止其被子类或其他类修改或继承,从而增加程序的安全性。

  • 提高性能:对于 final 方法,因为不能被重写,编译器可以进行一些优化,提高方法的执行效率。

  • 表示常量:通过将变量声明为 final,可以表示它是一个常量,即在程序运行期间其值不会改变。

类修饰符:pubilc

public 是一种类修饰符,在 Java 中用于声明一个公共类。当一个类被声明为 public 时,它可以从任何地方被访问到,包括同一个包内的其他类、不同包内的类以及其他项目中的类。

以下是一些关于 public 类修饰符的重要点:

  1. 可访问性:public 类可以被其他类、包甚至不同的项目访问。这使得该类的对象可以在程序中的任何地方创建和使用。

  2. 文件名要求:一个源文件只能包含一个 public 类,并且该类的类名必须与文件名相匹配。例如,如果一个类被声明为 public class MyClass,那么它应该在名为 MyClass.java 的文件中。

  3. 继承和实例化:其他类可以继承或实例化一个 public 类。也就是说,其他类可以使用 extends 关键字来继承该类,或者使用 new 关键字来创建该类的对象。

需要注意的是,一个 Java 程序可以包含多个类,但只有一个类可以被声明为 public。这是因为编译器需要找到并执行与文件名匹配的公共类。

使用 public 类修饰符可以提供更大的灵活性,使得类可以在项目中的各个地方进行访问和使用。

 

类修饰符 abstract 

abstract 是一种类修饰符,在 Java 中用于声明一个抽象类。抽象类是不能被实例化的,它只能作为其他类的基类,通过继承来使用。

以下是关于 abstract 类修饰符的重要点:

  1. 不能实例化:抽象类不能直接创建对象实例。也就是说,你不能使用 new 关键字来实例化一个抽象类。因为抽象类是不完整的,其中可能包含了未实现的抽象方法。

  2. 可以包含抽象方法:抽象类可以包含抽象方法,这些方法只有声明而没有实现。子类继承抽象类后,必须实现父类的抽象方法才能正常使用。

  3. 继承与实现:其他类可以通过使用 extends 关键字继承抽象类。如果一个类继承了抽象类,那么它必须实现抽象类中的所有抽象方法,除非它本身也是抽象类。

  4. 混合具体方法:抽象类不仅可以包含抽象方法,还可以包含具有实现的普通方法,这些方法可以直接被子类继承和使用。

  5. 用途:抽象类通常用于定义通用的行为和属性,供其子类继承和扩展。抽象类也可以用于强制子类实现某些方法的规则。

需要注意的是,抽象类本身不能被实例化,只能被继承和扩展。如果希望完全限制一个类不可被实例化和继承,可以同时使用 abstractfinal 修饰符。

抽象类在面向对象的编程中起到了重要的作用,它提供了一种方式来定义共享的行为,并通过继承来实现具体的功能

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/898623.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx(七十七)nginx与包体的探究

一 nginx与body体 说明:本文不具有生产意义,只是为了nginx知识的闭环,可以跳过即可 --> "数据脱敏"题外话: 对body的CURD,nginx和openresty处理方式不同强调: 本文是基于http演示的,如果是https加密我们是看不到的 ① core模…

博客系统之功能测试

博客系统共有:用户登录功能、发布博客功能、查看文章详情功能、查看文章列表功能、删除文章功能、退出功能 1.登录功能: 1.1测试对象:用户登录 1.2测试用例 方法:判定表 用例 编号 操作步骤预期结果实际结果截图1 1.用户名正确…

安全学习DAY18_信息打点-APP资产搜集

信息打点-APP资产&静态提取&动态抓包&动态调试 文章目录 信息打点-APP资产&静态提取&动态抓包&动态调试本节知识&思维导图本节使用到的链接&工具 如何获取目标APP从名称中获取APP从URL获取APP APP搜集资产信息APP提取信息分类信息提取方式信息…

常用的电参数

电参数根据电流的特点可以分为直流电参数和交流电参数,在电参数中有些是可以通过电参数表测得,有些参数则为通过测得的参数计算而来。 一、电参数 1.1 直接可测电参数 ——瞬时电压值 ——瞬时电流值 n——采样点数 f——频率 time——时间 其中&…

使用IText导出复杂pdf

1、问题描述 需要将发票导出成pdf&#xff0c;要求每页都必须包含发票信息和表头行。 2、解决方法 使用IText工具实现PDF导出 IText8文档&#xff1a;Examples (itextpdf.com) 3、我的代码 引入Itext依赖&#xff0c;我这里用的是8.0.1版本 <dependency><groupId>…

基于阿里云 Flink+Hologres 搭建实时数仓

摘要&#xff1a;本文作者阿里云 Hologres 高级研发工程师张高迪&阿里云 Flink 技术内容工程师张英男&#xff0c;本篇内容将为您介绍如何通过实时计算 Flink 版和实时数仓 Hologres 搭建实时数仓。 Tips&#xff1a;点击「阅读原文」免费领取 5000CU*小时 Flink 云资源 背…

Linux Debian12命令终端安装pip install rsa报错error: externally-managed-environment

Linux Debian12在命令终端安装pip install rsa出现error: externally-managed-environment错误,如下图&#xff1a; 仔细读了一下报错内容才搞懂&#xff0c;原来是Debian12安装Python包时需要使用apt install python3-包名&#xff0c;例如安装rsa&#xff0c;使用sudo apt …

太阳能的发展与应用

目录 1.太阳能的概念 2.太阳能的原理 3.太阳能的发展过程 4.太阳能的普及对人类的作用 1.太阳能的概念 太阳能是指利用太阳辐射能的能源。太阳能可以分为两种利用方式&#xff1a;热能和光能。 太阳能热能是指将太阳辐射的热能直接转化为热能供人们使用。这种利用方式包括太…

导出Excel一些格式、样式的 代码

1.合并单元格 // 合并单元格&#xff08;开始行, 结束行, 开始列, 结束列&#xff09;CellRangeAddress regionRow0 new CellRangeAddress(0, 0, 0, 10);sheet.addMergedRegion(regionRow0);2.单元格根据汉字自动匹配颜色 HSSFConditionalFormattingRule orange scf.createCo…

SE24维护类、接口interface(如何看懂CO03事务码对应的abap代码)

我想读懂CO03这个事务码的代码。 也不是全都读懂&#xff0c;只要读懂其中一小部分就可以了。如下图&#xff1a; 记入文档的货物移动。 现在已经大概知道了这种SAP系统自带事务码的代码结构&#xff0c;因为我想看懂的部分&#xff0c;毕竟是其中最简单的部分-----ALV&#…

大疆mini 3 Pro 手工拍摄倾斜摄影照片, 利用WebODM 制作老房子的模型

最近比较着迷于无人机&#xff0c; 因此也研究了一些无人机图片的处理技术&#xff0c; 对于航空倾斜摄影的图片处理&#xff0c; 发现WebODM 这个开源软件确实不错&#xff0c; 利用手里的大疆mini 3 pro&#xff0c; 手动拍摄了一些关于家里的老房子的照片&#xff0c; 最后果…

MFC140.dll缺失的修复方法,安装MFC140.dll文件

大家好&#xff0c;今天我要和大家分享的是如何正确安装和使用MFC140.dll。MFC140.dll是一种常见的动态链接库文件&#xff0c;它是Microsoft Foundation Classes(MFC)的一部分&#xff0c;被广泛应用于Windows操作系统中的各种应用程序中。在本文中&#xff0c;我们将详细介绍…

什么是高度塌陷?

目录 高度塌陷 解决高度塌陷的方法 由于前面将高度塌陷和外边距重叠搞混&#xff0c;现在重新写一下高度塌陷 高度塌陷 在文档流中&#xff0c;父元素的高度默认是被子元素撑开的&#xff0c;也就是子元素多高&#xff0c;父元素就多高。但是当为子元素设置浮动以后&#xff…

win10的pycharm开发工具使用Jupyter的各种报错:环境问题

一、问题 在win10系统的pycharm开发工具使用Jupyter的各种报错&#xff0c;却一直解决不了。 我一度使用过购买云服务器、重装系统等等各种办法&#xff0c;都没能解决。 例如&#xff1a;在speech_processing.ipynb文件中 import librosa y, sr librosa.load(C:/Test/000…

基于Forcite模块的分子动力学研究药剂与矿物相互作用实例(一)

关键词&#xff1a;相互作用 MS Forcite 分子动力学 径向分布 笔名&#xff1a;杨过 Forcite模块是分子动力学计算的主要模块&#xff0c;研究范围广&#xff0c;可以对多种周期性体系进行计算分析&#xff0c;在矿物分选领域中主要是计算分析药剂与矿物相互作用&#xff0…

ROS2中的roscd命令

一、问题 最近在学习ROS2&#xff0c;环境搭建好后想查看下某个包的内容&#xff0c;在ROS里面习惯用roscd直接进入&#xff0c;但在ROS2里面没有这个命令 二、解决办法 目前网上的相关资料比较少&#xff0c;博客1中提到ROS2中需要使用colcon_cd来替代roscd&#xff0c;不过…

LeetCode 热题 100(五):54. 螺旋矩阵、234. 回文链表、21. 合并两个有序链表

题目一&#xff1a; 54. 螺旋矩阵https://leetcode.cn/problems/spiral-matrix/ 题目要求&#xff1a; 思路&#xff1a;一定要先找好边界。如下图 &#xff0c;上边界是1234&#xff0c;右边界是8、12&#xff0c;下边界是9、10、11&#xff0c;左边界是5&#xff0c;所以可…

机器人TF坐标系变换与一些可视化工具的应用

TF坐标在ROS中是一个非常重要的概念&#xff0c;因为机器人在做日常操作任务的时候&#xff0c;对于其所在位置和朝向是需要时刻知道的&#xff0c;而机器人是由很多节点组成的协同任务&#xff0c;对于每个部件&#xff0c;我们需要知道它的位姿(位置和朝向)&#xff0c;这使得…

Vue初识别--环境搭建--前置配置过程

问题一&#xff1a; 在浏览器上的扩展程序上添加了vue-devtools后不生效&#xff1a; 解决方式&#xff1a;打开刚加入的扩展工具Vue.js devtools的允许访问文件地址设置 问题二&#xff1a;Vue新建一个项目 创建一个空文件夹hrsone&#xff0c;然后在VSCode中打开这个空文件夹…

操作系统-笔记-第二章-进程同步与互斥

目录 二、第二章——【进程同步与互斥】 1、进程同步&#xff08;异步&#xff09; 2、进程互斥 & 共享 3、总结&#xff08;互斥、同步&#xff09; 4、进程互斥&#xff08;软件实现&#xff09; &#xff08;1&#xff09;单标志法——谦让【会让他们轮流访问、其…