生信工具开发——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
comments powered by Disqus