Java|Java名词解释(1)

一、引入

最近笔者身边很多刚刚接触Java这门语言的萌新们问了我一些关于名词概念的问题,诸如:“喂喂喂,jdk是什么呀?”、“对了,抽象类是什么意思呢?”等等,确实,java语言中的概念对于初学者(尤其是没有接触过任何面向对象语言)而言是有几分繁杂,因此,笔者打乱了原先的推文计划,穿插了这么一期关于Java初级编程中的一些基本概念讲解的文章,我相信基础概念的清晰一定会给你很大的帮助。

二、名词解释

接下来,笔者将自己日常搜集的一些java初级编程中的基本概念来进行讲解(以下顺序不区分前后):

  • JDK/JRE/JVM
  1. JDK(Java Development Kit):JDK作为Java编程的核心,它提供了Java的开发编译环境,里面包含众多类库(jar包)、Java工具,以及我们下面要提到的JRE(运行时环境),简单来说,它是Java语言开发最基础的工具包,也是Java程序运行的基础,JDK通过多年发展,扩充完善了诸多类库,目前已发展到JDK13,具体移步http://www.oracle.com/technetwork/java/javase/downloads/index.html下载即可。
  2. JRE(Java Runtime Environment,Java运行环境):JRE中包含着JVM标准实现以及Java核心类库。JRE是Java运行环境,其中不包含任何开发工具(编译器、调试器等)。
  3. JVM(Java Virtual Machine,Java虚拟机):JVM通俗来说是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现,是Java实现跨平台的最核心部分,关于JVM体系结构与运行原理,在以后的文章会进行讲解,也可自行网络搜索。
  • :Java为了更好的组织类,提供了包机制,用于区分类名的命名空间。关于包的概念,Java将功能相似或相关的类或接口放在同一个包中,并且采用树形目录的存储方式,同一个包中的类名必须不同,不同包中可以具有相同类名的类,其通过包名进行区分。总体来说,包机制主要是为了防止命名冲突,访问控制,创建包时代码参考如下,将要创建的包的声明放在源文件的开头即可。
package pck1;

当我们需要在Java程序中导入某包,需要使用到import来完成,代码示例如下,我们在Java源程序中使用import语句应在package语句之后,可以没有,也可以有多条。

import package1;
  • 类(普通类 、抽象类):简单来说,类就是具备某些共同特征的实体的集合,是一种抽象的数据类型,它是对具有相同特征实体的抽象,例如,一个person具有age、name、job等属性以及run()、eat()等行为,那么此时我们就可以将人抽象为一个类的数据结构,之后我们只需将属性赋值,调用动行为就可以实例化一个个生动的person。
    对于类而言,其大体可分为普通类和抽象类,对于普通类而言,我们将一个群体的共性集中到其中,并加以实现,代码示例如下,在这段代码中我们抽象了一个person类,虽说在这个过程中我们将其抽象化为一个类的数据结构,但是,比如Dog,Animal又比其更加抽象,对于Animal,Biology有比其更为抽象,所以当我们设计Biology类时,我们将其定义为一种概念而不是一种具体,我们利用抽象类的概念集中描述其共性。
public class person {
    private String name;
    private int age;
    private String job;
    
    public void run(){
        //实现代码
    }
    public void eat(){
        //实现代码
    }
}

对于抽象类,最重要的一点莫过于其不能实例化(ERROR提醒),并且,抽象类中不一定非要有抽象方法,但有抽象方法的类,其必须为抽象类,具体的代码示例参考如下:

abstract class Animal
{
    private String food;
    Animal(String food){
        this.food=food;
    }
    public abstract void eat();
    public String getfood(){
        return food;
    }
}
public class Dog extends Animal
{
    Dog(String food){
        super(food);
    }

    public void eat()
    {
        System.out.println("Dog like to eat " +getfood());
    }
    public static void main(String[] args) {
        Dog dog =new Dog("bone");
        dog.eat();
    }
}
  • 接口:接口在Java语言中是一个抽象类型,是抽象方法的集合,以interface来进行声明,其余类通过继承(使用 implements 关键字可以变相的使java具有多继承的特性)接口的方式来继承接口中的抽象方法,它不是类,但是又和类相似,我们知道,类主要是用来描述属性和行为,但是接口包含的是类要实现的方法,同时,抽象类不能被实例化,但是可以被实现,除了抽象类之外,其余实现接口的类必须实现接口内所描述的所有方法。
    接口实现时,要使用implements关键字实现接口,公式如下:
...implements 接口名称[, 其他接口名称, 其他接口名称..., ...] ...

而对于具体实例,我们以Animal为例来演示:

interface Animal {
   public void eat();
   public void travel();
}
public class dog implements Animal{
    public void eat(){
      System.out.println("dog eats");
   }
 
   public void travel(){
      System.out.println("dog travels");
   } 
}

三、总结

基础词汇的深入理解对于我们以后的编程生活有着至关重要的作用,本文介绍了Java语言中的例如Jdk、包等基础概念,在接下来几篇文章中,将重点介绍Java四大特性(多态/封装/继承/抽象)、构造方法和析构方法、关键字(this,super)、参数传递、向上转型和向下转型等概念,大家敬请期待,由于小编水平有限,讲不到的地方,还请读者们自行补充,若文中理论或者代码有错误,希望大家及时联系小编进行修正,谢谢大家!