JavaJava名词解释

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)、参数传递、向上转型和向下转型等概念,大家敬请期待,由于小编水平有限,讲不到的地方,还请读者们自行补充,若文中理论或者代码有错误,希望大家及时联系小编进行修正,谢谢大家!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值