原标题:【基础】java入门基本知识了解
Java新人自学交流群:202250194
1.Java入门
1-1.Java程序的运行机制是怎样的?与C++或其他语言有什么不同?
回答:Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的
C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开
1-2.Java对原程序文件的命名规则有什么要求?源程序文件编译后生成什么文件?
回答:要求:源程序文件与类同名,文件扩展名为.java;编译后生成字节码文件(*.class)。
1-3.Java应用程序由哪两种形式?他们的运行方式有什么不同?
回答:Application和applet两种形式,其中application是能够独立运行的应用程序,既可以以DOS的命令方式运行,也可以以图形用户界面方式运行。Applet是可以嵌入页面的最小应用程序,不能独立运行,必须嵌入超文本中,由浏览器 显示运行。
1-4.什么是平台无关性?Java是怎样实现平台无关性的?
回答:平台无关性即Java程序的运行不依赖于操作系统。Java采用虚拟机技术实现平台无关性。程序由虚拟机解释执行,不同的操作系统上运行不同版本的Java虚拟机。
2.Java语法
2-1.标示符和关键字在定义和使用方面有何区别?
回答:定义方面:标示符是用户定义的、以字母开头的字母数字序列,关键字是由Java语
言定义的、具有特定含义的英文单词。
使用方面:标示符用于命名变量、常量、类、对象等元素,每一个关键字都有特定的含义,不能被赋予别的含义。
2-2.什么是变量的作用域,声明变量时,如何确定变量的作用域?
回答: 变量的作用域是指其作用范围。变量声明的位置决定了它的作用域
2-3.Java语言的基本数据类型有哪些?引用数据类型有哪些?
回答:基本数据类型有:整数类型byte、short、int、long,浮点数类型float、double,字符
类型char,布尔类型boolean;引用数据类型包括数组(array)、类(class)和接口(interface)
2-4.设i是一个整数类型变量,写出下列问题对应的表达式?
(1) 判断i为奇数或偶数;
回答:i%2==0 //取值为true时是偶数,否则是奇数
(2) 判断i的值是否在0~9之间;
回答:(i>0)&&(i<9)
3.Java概念
3-1.什么是类?什么是对象?他们之间的关系是怎样的?
回答:在面向对象的概念中,类是既包括数据又包括作用于数据的一组操作的封装体。类中的数据称为成员变量,类中的数据操作称为成员方法。类中的成员变量和成员方法统称为类的成员。
对象是类的实例。对象与类的关系就像变量与数据类型的关系一样。是抽象与具体,模板与实例的关系,类是抽象的、是模板,对象是具体的、是实例。
3-2.什么是封装?为什么要将类封装起来?封装的原则是什么?
回答:封装性是面向对象的核心特征之一,它提供一种信息隐藏技术。
类的封装包含两层含义:一是将数据和对数据的操作组合起来构成类,类是一个不可分割的独立单位;二是类中既要提供与外部联系的方法,同时又要尽可能隐藏类的实现细节。软件扩充和维护的需要需对类进行封装。封装原则:隐藏内部实现细节。
3-3.作为引用数据类型,对象在赋值和方法的参数传递方面与基本数据类型的变量有什么不同?
回答:作为引用数据类型,两个对象之间的赋值是引用赋值,对象可被赋值为null。具体可参见课本第三章图3.1的(d)。方法声明中形式参数的数据类型,既可以是基本数据类型,也可以是引用数据类型。如果形式参数的数据类型是基本数据类型,则实际参数向形式参数传递的是值;如果形参的数据类型是引用数据类型,则实参向形参传递的是引用。
同样,方法返回值的数据类型,既可以是基本数据类型,也可以是引用数据类型,两者分别传递值和引用。
3-4.类的构造方法和析构方法有什么作用?它们分别被谁调用?它们的访问权限范围应该是怎样的?是否每个类都必须设计构造方法和析构方法?没有设计构造方法和析构方法的类执行什么构造方法和析构方法?
回答:类的构造方法和析构方法是类特殊的成员方法,构造方法用于在创建实例时进行初始化;析构方法用于在释放实例时执行特定操作。构造方法由new运算符调用;析构方法可由对象调用,或被虚拟机自动执行。它们的访问权限范围通常都是public。
构造方法不能继承,析构方法能够继承。一个类可以不声明构造方法和析构方法。当一
Java为它提供一个无参数的默认构造方法,个类没有声明构造方法时,约定自动调用父类的
默认构造方法(无参数);当一个类没有声明析构方法时,它执行继承来的父类的析构方法。
3-5.什么是继承?继承机制的作用是什么?子类继承了父类中的什么?子类不需要父类中的成员时怎么办?能够删除它们吗?Java允许一个类有多个父类吗?
回答:继承性是面向对象的核心特征之一,是一种由已有的类创建新类的机制。被继承的类称为父类或超类,通过继承产生的新类称为子类或派生类。继承机制是面向对象程序设计中实现软件可重用性的最重要手段。
通过继承,子类自动拥有父类的所有成员,包括成员变量和成员方法(不包括构造方法)。子类可以更改父类成员,还可以增加自己的成员,但是,不能删除父类的成员。
在Java中以"单重继承+接口"的方式代替多重继承,不允许一个类有多个父类。
4.Java功能
4-1 设计Windows应用程序的图形用户界面需要哪些基本知识?
回答:需要掌握Java组件的使用方法,理解委托事件处理模型,掌握多种布局方式。
4-2 如何理解Windows应用程序的图形用户界面是事件驱动的?
回答:一个组件的多个事件之间,多个组件的多个事件之间,其事件处理方法的执行次序是有规律的:1.不同组件的事件或同一组件的不同事件具有约定的执行次序。2.各组件的事件处理方法是否执行以及执行次序,取决于用户操作。3.在一个事件处理方法中,程序按照语句的书写次序顺序执行。
4-3 窗口与对话框有什么不同?框架与面板有什么不同?
回答:对话框是窗口类的子类,对话框也是一种可移动的窗口,不能作为应用程序的主窗口,它依赖于一个框架窗口而存在,当框架窗口关闭时,对话框也关闭。框架类是一种带标题栏并且可以改变大小的窗口;它是窗口类的子类,所以它可以独立存在,可被移动,可被最大化和最小化,有标题栏、边框、可添加菜单栏;而面板不能独立存在,必须包含在另一个容器里,面板没有标题,没有边框,不可添加菜单栏。
5.Java线程和进程
5-1 什么是进程?什么是线程?进程与线程的关系是怎样的?
回答:进程:进程是一个可并发的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。
线程:线程是操作系统进程中能够独立执行的实体,是处理器调度和分派的基本单位。 线程是进程的组成部分,每个进程内允许包含多个并发执行的线程。
5-2 Java提供了哪些接口和类实现多线程机制?
回答:Java主要提供了java.lang.Runnable接口和Thread线程类来实现多线程机制。
5-3 Java为什么要支持线程?什么场合需要使用多线程程序设计?
回答:支持多线程能充分发挥硬件的并发性,消除处理器和I/O设备的互等现象,提高系统效率。 一般一下场合需要使用多线程:1、程序包好复杂的计算任务时,主要是利用多线程获取更所得CPU时间。2、处理速度较慢的外围设备。3、程序设计自身的需要。
5-4 线程按什么规则排队等待?
回答:线程按优先级排队,线程调度语句优先级基础上的"先到先服务"原则返回搜狐,查看更多
责任编辑: