基础总结
1.1 在Linux系统下命令pwd,cd,ls,mkdir的作用分别是什么。
参考答案:
pwd :打印工作目录
cd :改变工作目录
ls :查看目录内容
mkdir :创建目录
1.2 简述相对路径和绝对路径。
参考答案:
绝对路径: 是文件或目录在硬盘上的绝对位置
以根目录为开始: /home/soft01
相对路径: 文件或目录相对于当前工作目录的位置
不以根目录为开始: home/soft01
参考答案:
通俗来讲就是Java所说的:一次编写,到处运行。
Java 通过JVM 实现了跨平台技术。
Java 源代码(*.java)经过Java的编译器编译成Java字节码(*.class),执行Java字节码,Java字节码经过JVM的解释为具体平台的 具体指令,并执行。不同平台有不同的JVM,主流平台都提供了JVM,所以JAVA字节码可以在所有平台上能够解释执行。在这个意义上Java是跨平台 的。也就是说:Java 的字节码是跨平台的。
1.1 char类型能否存储一个中文字符?为什么?
参考答案:
可以。一个char是两个字节,而一个中文也是两个字节。
1.2 String a=null; if (a!=null && a.length()>10) {...}
上面的代码,如果你用“&”替换“&&”将发生什么错误?
参考答案:
会抛出空指针异常。
&&会短路,如果&&左边的表达式值为false,a!=null刚好为false,那么&&右边的表达式就不再执行了;而&则是会把两边的表达式都执行完。
1.1 三种程序结构分别是什么。
参考答案:
“顺序”,“分支”,“循环”
1.2 break和continue表示的含义。
参考答案:
break用在循环体中用于退出循环。在嵌套的循环结构中,break用于退出所在循环体;
continue语句用在循环体中,用于结束本次循环而开始下一次循环。
1.3 do-while与while结构的区别。
参考答案:
如果循环条件一开始就不满足时while结构不会执行循环体;而do-while结构会执行一次循环体。
1.1 什么是数组。
参考答案:
相同数据类型的元素组成的集合
1.2 方法的主要要素有哪些?
参考答案:
方法的主要要素有:方法名、参数列表和返回值。
1.1 什么是类。
参考答案:
类是一个概念(名词)抽象的定义。
类定义了该类型对象的数据结构,称之为“成员变量”,同时,也定义了一些可以被调用的功能,称之为“方法”。
类是用于构建对象的模板,对象的实质就是内存中一块存储区域,其数据结构由定义它的类来决定。
1.2 请简述JVM内存结构堆,栈和方法区分别存储的内容。
参考答案:
JVM会在其内存空间中开辟一个称为“堆”的存储空间,这部分空间用于存储使用new关键字创建的对象。
栈用于存放程序运行过程当中所有的局部变量。一个运行的Java程序从开始到结束会有多次方法的调用。JVM会为每一个方法 的调用在栈中分配一个对应的空间,这个空间称为该方法的栈帧。一个栈帧对应一个正在调用中的方法,栈帧中存储了该方法的参数、局部变量等数据。当某一个方 法调用完成后,其对应的栈帧将被清除。
方法区该空间用于存放类的信息。Java程序运行时,首先会通过类装载器载入类文件的字节码信息,经过解析后将其装入方法区。类的各种信息都在方法区保存。
1.3 什么是方法的重载(overload)。
参考答案:
在Java语言中,允许多个方法的名称相同,但参数列表不同,称之为方法的重载(overload)。
编译器在编译时会根据其参数的不同,绑定到不同的方法。
1.4 请说出你对null的理解。
答案:
引用类型变量用于存放对象的地址,可以给引用类型赋值为null,表示不指向任何对象。如下所示:
当某个引用类型变量为null时无法对对象实施访问(因为它没有指向任何对象)。此时,如果通过引用访问成员变量或调用方法,会产生NullPointerException 异常。
1.5 什么是构造方法。
参考答案:
在Java语言中可以通过构造方法实现对对象成员变量的初始化。构造方法是在类中定义的方法。但不同于其他的方法,构造方法的定义有如下两点规则:
1.构造方法的名称必须与类名同名。
2.构造方法没有返回值,但也不能写void。
1.1 什么是方法重写(Overwirte)。
参考答案:
子类可以重写(覆盖)继承自父类的方法,即方法名和参数列表与父类的方法相同;但方法的实现不同。
当子类对象的重写方法被调用时(无论是通过子类的引用调用还是通过父类的引用调用),运行的是子类的重写后的版本。
1.2 重写和重载的区别
参考答案:
重载遵循所谓“编译期绑定”,即在编译时根据参数变量的类型判断应该调用哪个方法。
重写遵循所谓“运行期绑定”,即在运行的时候根据引用变量指向的实际对象类型调用方法。
1.3 对比访问控制修饰符public ,protected,默认,private。
参考答案:如下表所示。
参考答案
1.1 关键字final可以修饰一个类,一个方法,一个变量,各起什么作用。
参考答案:
final修饰类是不能被继承
final修饰方法不能在子类中被覆盖
final修饰变量,称为常量,初始化以后不能改变值。
1.2 什么是对象数组。
参考答案:
所谓对象数组,是对象的元素不是基本类型,而是引用类型。
1.3 什么是抽象类。
参考答案:
用abstract关键字修饰的类称为抽象类。抽象类不能实例化,抽象类的意义在于“被继承”。抽象类为其子类“抽象”出了公共的部分,通常也定义了子类所必须具体实现的抽象方法。