基本语法
编写 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
修饰符的不同应用场景及其含义:
-
修饰类:当用
final
修饰一个类时,表示该类是最终类(或称为不可继承的类)。这意味着其他类不能继承这个被final
修饰的类。例如:final class MyClass { }
-
修饰方法:当用
final
修饰一个方法时,表示该方法是最终方法(或称为不可重写的方法)。这意味着子类不能覆盖(重写)这个被final
修饰的方法。例如:final void myMethod() { }
-
修饰变量:当用
final
修饰一个变量时,表示该变量是一个常量,一旦赋值后就不能再改变。被final
修饰的变量必须在声明的同时或构造函数中进行初始化。例如:final int x = 10;
final
修饰符的使用有以下几个主要的作用:
-
提供安全性:通过将类、方法或变量声明为
final
,可以防止其被子类或其他类修改或继承,从而增加程序的安全性。 -
提高性能:对于
final
方法,因为不能被重写,编译器可以进行一些优化,提高方法的执行效率。 -
表示常量:通过将变量声明为
final
,可以表示它是一个常量,即在程序运行期间其值不会改变。
类修饰符:pubilc
public
是一种类修饰符,在 Java 中用于声明一个公共类。当一个类被声明为 public
时,它可以从任何地方被访问到,包括同一个包内的其他类、不同包内的类以及其他项目中的类。
以下是一些关于 public
类修饰符的重要点:
-
可访问性:
public
类可以被其他类、包甚至不同的项目访问。这使得该类的对象可以在程序中的任何地方创建和使用。 -
文件名要求:一个源文件只能包含一个
public
类,并且该类的类名必须与文件名相匹配。例如,如果一个类被声明为public class MyClass
,那么它应该在名为MyClass.java
的文件中。 -
继承和实例化:其他类可以继承或实例化一个
public
类。也就是说,其他类可以使用extends
关键字来继承该类,或者使用new
关键字来创建该类的对象。
需要注意的是,一个 Java 程序可以包含多个类,但只有一个类可以被声明为 public
。这是因为编译器需要找到并执行与文件名匹配的公共类。
使用 public
类修饰符可以提供更大的灵活性,使得类可以在项目中的各个地方进行访问和使用。
类修饰符 abstract
abstract
是一种类修饰符,在 Java 中用于声明一个抽象类。抽象类是不能被实例化的,它只能作为其他类的基类,通过继承来使用。
以下是关于 abstract
类修饰符的重要点:
-
不能实例化:抽象类不能直接创建对象实例。也就是说,你不能使用
new
关键字来实例化一个抽象类。因为抽象类是不完整的,其中可能包含了未实现的抽象方法。 -
可以包含抽象方法:抽象类可以包含抽象方法,这些方法只有声明而没有实现。子类继承抽象类后,必须实现父类的抽象方法才能正常使用。
-
继承与实现:其他类可以通过使用
extends
关键字继承抽象类。如果一个类继承了抽象类,那么它必须实现抽象类中的所有抽象方法,除非它本身也是抽象类。 -
混合具体方法:抽象类不仅可以包含抽象方法,还可以包含具有实现的普通方法,这些方法可以直接被子类继承和使用。
-
用途:抽象类通常用于定义通用的行为和属性,供其子类继承和扩展。抽象类也可以用于强制子类实现某些方法的规则。
需要注意的是,抽象类本身不能被实例化,只能被继承和扩展。如果希望完全限制一个类不可被实例化和继承,可以同时使用 abstract
和 final
修饰符。
抽象类在面向对象的编程中起到了重要的作用,它提供了一种方式来定义共享的行为,并通过继承来实现具体的功能