Java基础知识(2)

本文详细阐述了JDK与JRE的区别、Java程序的编译解释流程,并对比了抽象类与接口的不同之处及其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、JDK和JRE的区别

(1)JDK:Java Development kit,Java开发工具包。它不仅提供了Java程序运行所需的JRE,还提供了一系列的编译,运行等工具,如javacjavajavaw等;

(2)JRE:Java Runtime Environment,是Java运行时的环境,主要包括虚拟机和Java类库的class文件。

二、java程序编译,解释流程

(1).java文件通过编译(javac xxx.java)生成.class文件;

(2).class文件是字节码文件,是跨平台的。通过java命令启动JVM(java xxx),由JVM来加载.class文件并运行.class文件。

三、Java抽象类和接口的区别
1、接口:接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。即如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,自身不能做任何事情。
2、抽象类:含有abstract修饰符的类。它不能创建实例对象;abstract class类中定义抽象方法必须在具体子类中实现,所以,不能有抽象构造方法或抽象静态方法;如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。
注意:
(1)抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类;
(2)二者区别:1、接口中不能有具体的实现,但是抽象类可以;
                          2、一个类要实现接口,就要实现其里面的所有方法,但是抽象类不需要;
                          3、通过接口可以实现多继承,但是接口做不到;
                          4、接口不能有构造方法;
                          5、实体类与接口之间只有实现关系,实体类与抽象类之间只有继承关系,而抽象类和接口之间既有实现的关系又有继承的关系;
                          6、接口中的法都是默认为公开抽象方法,属性都默认为公开静态常量。
使用abstract class的方式定义Demo抽象类的方式如下:

public abstract class Demo{             public abstract void method1();                       public abstract void method2();                         private String name;             …  }

  使用interface的方式定义Demo抽象类的方式如下:

public interface Demo{  void method1();  void method2();  … }

  在abstract class方式中,Demo可以有自己的数据成员,也可以有非 abstract的成员方法,而在interface方式的实现中,Demo只能够有静态的不能被修改的数据成员(也就是必须是static final 的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊形式的 abstract class。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值