生信工具开发——Java【2】
介绍一些基本概念。
源文件,类,方法
- 源文件(source file),扩展名为
.java
,是带有类的定义。类用来表示程序的一个组件,程序或许只有一个类。类的内容必须在括号内。
类:
public class Dog {
}
- 类(class),类中有一个或多个方法。在Dog这个类中,bark方法带有如“汪汪”的指令。方法必须在类的内部声明。
public class Dog {
void bark () {
}
}
在 Java 中,void 是一种返回类型(return type),用于表示一个方法不返回任何值。具体来说,当一个方法的返回类型被声明为 void 时,它表示该方法执行后不会返回任何数据或值给调用者。
- 方法
在方法的括号中编写方法应该执行的指令。方法代码是由一组语句(statement)组成的,可以把方法想象成一个函数或过程。
public class Dog (
volid bark () {
statement1;
statement2;
}
)
如何编写和执行Java程序
java中所有的东西都会属于某个类。建立源文件(扩展名为.java),然后将其编译为新的类文件(扩展名为.class),真正被执行的是类。
不管程序有多大(不管有多少个类),一定会有一个main()来作程序的起点。
public class MyFirstApp {
public static void main (String[] args) {
System.out.printIn("I Rule!");
System.out.printIn("The World");
}
}
将上述代码保存为MyFirstApp.java
,编译javac MyFirstApp.java
,运行
%java MyFirstApp
I Rule!
The World
JVM和JDK
- java虚拟机(JVM)
Java虚拟机是Java的核心技术,它使Java程序能够跨平台运行,并提供了许多重要功能,如内存管理、多线程支持和安全性,以支持Java应用程序的执行。著名的JVM实现包括Oracle HotSpot、OpenJ9、GraalVM等。JVM的主要目标是实现Java的"一次编写,到处运行"(Write Once, Run Anywhere)的理念,使开发人员能够编写Java应用程序,而这些应用程序可以在不同操作系统上无需任何修改就能运行。
- java编译器(JDK)
Java编译器是一种用于将Java源代码文件(通常以.java为扩展名)转换为字节码文件(通常以.class为扩展名)的工具。它是Java编程语言中的一个关键组件,用于将高级的Java源代码翻译成可以在Java虚拟机(JVM)上运行的字节码。
标准的Java编译器是 javac,它是Java Development Kit(JDK)的一部分,可以从Oracle或其他JDK提供商获得。编译Java代码的基本语法是在命令行中使用 javac 命令:
javac YourJavaFile.java
面对对象的继承(inheritance)
举个例子:要求对正方形,圆形,三角形,和阿米巴虫,实现点击图像后旋转并播放对应音效。可以通过程序写4个类:

由于他们都具有rotate和playSound,这4个类可以同属于Shape类,提取出Shape类:

可以将4个形状以“继承”的关系连接到Shape这个类:

可以称为“Square继承自Shape”、“Circle继承自Shape”等等,rotate和playSound从次级的类中移开。Shape是下面4个类的父类,子类会自动获得父类的功能。
增加条件:阿米巴虫的旋转方法是特殊的,通过该子类重新定义集成方法,以改变或延伸此方法的行为称为”覆盖“。

类和对象的异同
对象是靠类的模型塑造出来的。对象本身已知的事物被称为实例变量(instance variable),对象可以执行的动作称为方法。类会告诉虚拟机创建某种类型的对象。举例:通讯录里的每张卡片都有相同的空白字段标注姓名、电话、邮件,它们是实例变量,填入新的联络人就仿佛创建新的实例(对象)。卡片类上的方法就是对卡片做的事情,比如getTel(),changeAddress(),deleteCard()等等。每张卡片能够执行相同的动作,但是得到的结果是各自独立的。
参考资料
- Head First Java - Kathy Sierra & Bert Bates