Java复习笔记 基础理论篇

1. Java是解释性的语言吗?
答: java程序的源代码是解释性的,但.java文件要通过2个步骤才能变成机器语言:
1)在java平台上被编译成字节码(bytecode)的.class形式,这是二进制的JVM的机器语言。
2)JVM附带解释器,对这些字节码解释执行。
PS:Java的.class文件可以在任何平台上JVM运行!反之,离开了JVM的环境,.class的二进制字节码无法适用于任何平台。
PS2:在JDK-11的JRE支持cmd下直接用java xx.java直接运行java文件,不需要javac编译再运行
2. 为什么说Java有分布式的特点
答:java支持Internet应用开发,包含java.net接口,提供了许多web开发的类库,包括URL,URLConnection,Socket,ServerSocket等等。还有Java RMI支持远程调用Java对象方法。这样可以在对等的两端激活远程方法,这也可以发生在客户端和服务器之间。这些都是分布式应用开发的有利工具。

3.UML是啥?类型分为几类?
UML就是统一建模语言,分为静态,动态和物理图。
静态图Static Diagram,描述不发生任何变化软件元素的逻辑结构。描绘类,对象,数据结构及其中关系。
…其余的自己查定义去嘿嘿
4. 为什么要用内部类,非静态内部类为什么成员变量不能有static?
答: 外部类只能继承一次父类/实现一次接口,然而内部类提供了接口和继承的多重实现!
非静态内部类的成员变量初始化,就如同非静态方法与成员变量一样,依赖于外部类的实例化。JVM分配内存时,static类,方法以及成员变量优先分配,然而内部类的static成员变量缺少实例化的内部类无法分配内存。
5. 手动实现枚举类需要满足哪些特点?
答: 枚举类的实现有3个特点:
1) 所有的实例要用public static final来修饰并作为成员属性保存,实例名大写+下划线组成
2) 构造器用private隐藏
3) 提供一些static方法来供其他程序访问实例。
6. 枚举类enum的实例化呢,哪些特点?
答: 1)enum和class interface平级,enum继承的是Enum类
2)所有实例必须放根大括号{}内第一行,用逗号分隔,名称大写
3)enum构造器private隐藏
4)enum类无法被继承,也没被继承的意义
5)enum类占用内存是手动枚举类的2倍以上,对Android编程敏感

猜你喜欢

转载自blog.csdn.net/OliverZang/article/details/83380469