基础简答汇总
以下内容仅为本人期末复习时整理的关于Java最基本最简单的知识点汇总,以问答形式
主要用作预习、复习或了解基本知识,难度不大~
1.为什么要设置path环境变量?
JDK平台提供的Java编译器(javac.exe)和Java解释器(java.exe)位于JDK根目录的\bin文件夹中,为了能在任何目录中使用编译器和解释器,应在系统中设置Path。若没有设置Path路径,就无法正常使用编译器和解释器。
2.Java程序的开发步骤
编写源文件。使用文本编辑器,如Edit或记事本,但不可使用非文本编辑器,例如Word编辑器。将编写好的源文件扩展名设置为.java,若有选择保存类型,则保存为“所有类型”,编码为ANSI
编译源文件。使用Java编译器(javac.exe)编译源文件,得到字节码文件(.class),在cmd中输入javac 文件名.java。
运行程序。编译后会生成字节码文件,并使用Java SE平台中的Java解释器(java.exe)来解释执行字节码文件。
3.如果不小心将程序中的String写成string,编译时提示的编译错误信息是什么?
若误将程序中的String写成string,则会在编译的时候出现错误“找不到符号 类string”
4.Java基本类型的数据转换规则是什么?
Java基本数据类型按精度级别由低到高的顺序是:
byte short char int long float double
当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。当级别高的变量的值赋给级别低的变量时,必须使用类型转换。
当把一个int型常量赋值给一个byte、short和char型变量时,不可超出这类变量的取值范围,否则必须进行类型转换运算。
5.Java语言采用的字符集是什么?
16位Unicode编码
6.获得某字符变量c在Unicode表中的位置i的表达式怎么写?获得Unicode表中指定位置i处的字符c的表达式怎么写?
①获得某字符变量c在Unicode表中的位置i的表达式可以为:
public class E{
public static void main (String args[]){
int i = 0;
char c = '果';
i = (int)c;
System.out.println(i);
}
}
②获得Unicode表中指定位置i处的字符c的表达式可以为:
public class E{
public static void main (String args[]){
int i = 26524;
char c = '\0';
c = (char)i;
System.out.println(c);
}
}
7.Java语言中的if条件分支语句有哪几种形式?
①if条件分支有三种形式:
if单条件、单分支形式
if-else单条件、双分支形式
if- else if - else多条件、多分支形式
②if- else if -else多条件、多分支形式语法格式为:
if(表达式){
若干语句
}
else if(表达式){
若干语句
}
else{
若干语句
}
2.Java语言中的循环语句有哪几种形式?
①循环语句有三种形式:
for循环语句
while循环语句
do-while循环语句
while循环语句语法格式为:
while(表达式){
若干语句
}
8.结合本次实验的程序分别说明基本数据类型和引用数据类型参数传值的特点。
基本数据类型参数传值的特点:
对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别,实参的精度级别应等于或低于形参的精度级别。
对于基本数据类型,一个形参接收一个数据,对调用方法的影响只限于返回一个值,但引用数据类型一个形参可以获得一片内存中的数据,既可以返回值又可以修改调用方法中某片内存的值。
引用数据类型参数传值的特点:
Java的引用数据类型包括数组、对象以及接口;
当参数是引用类型时,“传值”传递的是变量中存放的“引用”,而不是变量所引用的实体。对于两个相同类型的引用型变量,如果具有同样的引用,就会用同样的实体,因此,如果改变参数变量所引用的实体,就会导致原变量得到实体发生同样的变化;但是,改变参数中存放的“引用”不会影响其传值的变量中存放的“引用”,反之亦然。
总之,对于引用数据类型,实参和形参引用同一个对象,修改形参引用的对象就相当于修改实参引用的对象,但若修改的不是形参引用的对象而是形参值本身,即让形参指向其它对象,则实参值和实参引用的对象都不改变。
9.什么是实例变量?什么是类变量?
10.什么是实例方法?什么是类方法?
11.什么是方法重写?
方法重写也称为方法覆盖,子类可以通过重写隐藏已继承的方法。方法重写,是指子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型(子类型是指如果父类的方法的类型是“类”,那么允许子类的重写方法的类型是“子类”),并且这个方法的名字、参数个数、参数类型和父类的方法完全相同。
子类通过方法的重写可以把父类的状态和行为改变为自身的状态和行为。例如父类的方法z()可以被子类继承,子类有权重写z(),一旦重写,就隐藏了继承的方法,那么子类对象调用的便是重写方法。重写方法既可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量、调用新定义的其他方法,但无法操作被子类隐藏的成员变量和方法。若子类想使用被隐藏的方法或成员变量,必须使用关键字super。
12. 总结Java语言中super关键字的两种用法或用途
super主要用在调用被隐藏的成员变量和成员方法。在ConstructionBank类中重写了父类Bank的computerInterest()方法,重写该方法后可以操作继承的成员变量、调用继承的方法,但无法操作被子类隐藏的成员变量和方法,这个时候若子类想使用被隐藏的成员变量和方法,就需要使用关键字super,那么本题中此时子类如果想调用父类的computerInterest()方法就要使用super关键字。
Java语言中super关键字有两种用法:第一为用super操作被隐藏的成员变量和方法;重写该方法后可以操作继承的成员变量、调用继承的方法,但无法操作被子类隐藏的成员变量和方法,这个时候若子类想使用被隐藏的成员变量和方法,就需要使用关键字super。子类一旦隐藏了继承的成员变量,那么子类创建的对象就不再拥有该变量,该变量将归关键字super 所拥有;同样子类一旦重写了继承的方法,就覆盖(隐藏)了继承的方法,那么子类创建的对象就不能调用被覆盖(隐藏)的方法,该方法的调用由关键字super负责。
因此,如果在子类中想使用被子类隐藏的成员变量或覆盖的方法就需要使用关键字super。第二为使用super调用父类的构造方法,当用子类的构造方法创建一个子类的对象时,子类的构造方法总是先调用父类的某个构造方法,也就是说,如果子类的构造方法没有明显地指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。由于子类不继承父类的构造方法,因此,子类在其构造方法中需使用super 来调用父类的构造方法,而且super 必须是子类构造方法中的头一条语句,即如果在子类的构造方法中没有明显地写出super关键字来调用父类的某个构造方法,那么默认地有:super();
13.抽象方法的声明有哪些特点?
对于abstract方法,只允许声明,不允许实现(没有方法体),而且不允许使用 final和abstract 同时修饰一个方法或类,也不允许使用static修饰 abstract方法,即 abstract方法必须是实例方法。
abstract类可以有abstract方法,也可以有非抽象方法,也可以没有abstract方法。abstract类不能够使用new运算符创建对象,如果一个非抽象类是某个抽象类的子类,那么它必须重写父类的抽象方法并给出方法体。如果一个非抽象类是抽象类的子类,它必须重写父类的抽象方法并给出方法体;如果一个抽象类是抽象类的子类,那么它不仅可以重写父类的抽象方法,也可以继承父类的抽象方法。