Java基础知识问答题
- 格式:docx
- 大小:204.61 KB
- 文档页数:68
java基础50题姓名:1. 关于Java语言的特征,描述正确的是A. 支持跨平台(Windows,Linux,Unix等)B. GC(自动垃圾回收),提高了代码安全性C. 支持类C的指针运算操作D. java语言是面向对象的语言2.下列表达式正确的是A. byte b=128;B. boolean b=null;C. long a = 2147483647L;D. float f=0.9239;3下列说法正确的有()A. class中的constructor不可省略B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被实例化时执行D.一个class只能定义一个constructor4. 执行完以下代码int [ ] x = new int[25];后,下列各项正确的是:A、 x[24]为0B、 x[24]未定义C、 x[25]为0D、 x[0]为空5. 实例化数组的方式正确的是A. int[] ia = new int [15];B. float fa = new float [20];C. int ia [][] = (4, 5, 6) (1, 2, 3);D. Object oa = new float[20];6. 下列代码的运行结果是:public class SwitchTest {public static void main (String []args) { System.out.println (“value =” +switchIt(4)); }public static int switchIt(int x) {int j = 1;switch (x) {case 1: j++;case 2: j++;case 3: j++;case 4: j++;case 5: j++;default:j++;}return j + x;}}A. Value =3B. Value =4C. Value =5D. Value =6E. Value =7F. Value =87. 下列不属于java标识符的是A.HelloWorldB._HelloWorldC. $HelloWorldD. HelloWorld3E. 3HelloWorld8. 给出下面的代码段:()public class Base{int w, x, y, z;public Base(int a, int b){x=a; y=b;}public Base(int a, int b, int c, int d) {<插入代码>w=d;z=c;}}在<插入代码>处写下如下代码,正确的是A.Base(a, b);B.x=a, y=b;C.x=a; y=b;D.this(a,b);9. 指出下列程序运行的结果public class Example{String str=new String("good");char[]ch={'a','b','c'};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+" and ");System.out.print(ex.ch);}public void change(String str,char ch[]){ str="test ok"; ch[0]='g';}}A. good and abcB. good and gbcC. test ok and abcD. test ok and gbc10. (继承)关于java中的继承说法正确的是A.子类不可以重写父类的方法B.构造方法是可以被继承的C.Java 只支持单继承,不允许多重继承。
Java简答题1、增强for循环在什么场合使用?用简单代码展现其使用方法。
参考答案:增强for循环可用来遍历数组或集合,如下所示:for(String s:sArray){System.out.println(s);}上述代码中的sArray是一个String类型的数组。
2、什么是泛型?泛型有什么作用?参考答案:泛型的本质就是参数化类型,也就是说把数据类型指定为一个参数。
在需要声明数据类型的地方,就可以不指定具体的某个类型,而是使用这个参数。
这样一来,就能够在具体使用时再指定具体类型,实现了参数的“任意化”。
泛型的好处是在编译的时候能够检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。
3、线程之间通信的方法有哪几个?分别起到什么作用?参考答案:线程通信的方法有三个,在Object类中定义。
①wait 方法:使得线程进入等待状态。
②notify 方法:随意通知等待池中的某一个线程。
③no tifyAll 方法:通知等待池中所有线程。
4、使用java语言如何创建线程对象?请列出常用的两种方法。
参考答案:Java语言中经常使用两种方法创建线程。
①创建Thread类的子类,在子类中覆盖Thread类的run方法,实现线程的运行体,只要创建该子类对象就是线程对象。
②创建Runable接口的实现类,在实现类中覆盖接口中的run方法,实现线程的运行体。
使用Thread(Runable)构造方法可以创建线程对象,参数是Runable接口实现类的实例。
5、throws 关键字和 throw 关键字有什么区别和联系?参考答案:throw用来在方法体内抛出异常,而throws用来在方法声明处声明异常。
这两个关键字有着一定的联系。
如果一个方法中使用了throw关键字抛出了异常,那么要么立即用try/catch语句进行捕获,要么就是用throws进行声明,否则将出现编译错误。
然而,并不是只有使用了throw关键字之后才能使用throws关键字,语法上来说,任何一个方法都可以直接使用throws关键字,抽象方法也可以使用。
第1章问答题及作业题第1章问答题1、发明Java语言的原因是什么?发明Java语言的主要贡献者是谁?2、“Java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?3、Java程序的主类必须含有怎样的方法?4、“Java应用程序必须含有一个类是public类”,这句话正确吗?5、“Java Applet程序的主类必须是public类”,这句话正确吗?6、请叙述Java源文件的命名规则。
7、源文件生成的字节码在运行时都加载到内存中吗?8、怎样编写加载运行Java Applet的简单网页?9、JDK1.6编译器使用“-source”参数的作用是什么?“-source”参数的默认取值是什么?第1章作业题1.参照例1-1编写一个Java应用程序,程序能在命令行中输出“早上好,Good Morning”。
2.参照例1-2编写一个Java Applet程序,程序能在浏览器中显示“你好,Hello”。
第2章问答题及作业题第2章问答题1、什么是标识符?标识符的规则是什么?2、什么是关键字?请说出5个关键字。
3、Java的基本数据类型是什么?4、下列哪些语句是错误的?int x=120;byte b=120;b=x;5、下列哪些语句是错误的?float x=12.0;float y=12;double d=12;y=d;6、下列两条语句的作用是等价的吗?char x=97;char x=’a’;7、下列System.out.printf语句输出的结果是什么?int a=97;byte b1=(byte)128;byte b2=(byte)-129;System.out.printf(“%c,%d,%d”,a,b1,b2);8、数组是基本数据类型吗?怎样获取一维数组的长度?9、假设有两个int类型数组:int[] a=new int[10];int[] b=new int[8];b=a;a[0]=100;b[0]的值一定是100吗?10、下列两条语句的作用等价吗?int[] a={1,2,3,4,5,6,7,8};int[] a=new int[8];}第2章作业题1.参照例2-1编写一个Java应用程序,输出俄文字母表。
java试题库及答案Java试题库及答案一、单选题1. Java语言的特点是什么?A. 面向过程B. 面向对象C. 编译型语言D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?A. publicB. classC. voidD. int答案:B3. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _class2D. class:2答案:C4. Java中的main()方法必须定义为什么类型的参数?A. intB. StringC. voidD. None答案:D5. 在Java中,哪个关键字用于实现异常处理?A. tryB. catchC. throwD. All of the above答案:D二、多选题6. 下列哪些是Java的基本数据类型?A. intB. StringC. floatD. boolean答案:A, C, D7. 在Java中,哪些是合法的数组初始化方式?A. int[] arr = new int[10];B. int arr[] = {1, 2, 3};C. int arr = {1, 2, 3};D. int arr = new int[3]{1, 2, 3};答案:A, B8. 下列哪些是Java的控制流语句?A. if-elseB. switch-caseC. forD. try-catch答案:A, B, C三、简答题9. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,回收不再使用的对象所占用的内存空间。
垃圾回收器会跟踪每个对象的引用,当对象的引用计数为0时,即没有任何引用指向该对象,垃圾回收器就会在下一次执行时回收该对象占用的内存。
10. 什么是Java的接口?它有什么作用?答案:Java中的接口是一种完全抽象的类,它不包含任何实现代码,只包含常量和抽象方法的声明。
常见的Java问答题常见的Java问答题引导语;面试可以测试应聘者的Java的通用面向对象编程的能力,以下是店铺分享给大家的常见的Java问答题,欢迎阅读!1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。
Java源文件被编译成能被Java虚拟机执行的字节码文件。
Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。
Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。
2.JDK和JRE的区别是什么?Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。
它同时也包含了执行applet需要的浏览器插件。
Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。
3.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。
Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。
static方法跟类的任何实例都不相关,所以概念上不适用。
4.是否可以在static环境中访问非static变量?static变量在Java中是属于类的,它在所有的实例中的值是一样的。
当类被Java虚拟机载入的时候,会对static变量进行初始化。
如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。
5.Java支持的数据类型有哪些?什么是自动拆装箱?Java语言支持的8中基本数据类型是:byteshortintlongfloatdoublebooleanchar自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。
java基础试题一、选择题1. Java中用于创建新对象的关键字是()。
A. newB. thisC. classD. public2. 下列哪个选项是Java语言的特性?A. 多态B. 静态类型C. 自动内存管理D. 所有以上选项3. 在Java中,如果需要导入多个包,可以使用以下哪种方式?A. 每行导入一个包B. 用逗号分隔多个包C. 用分号分隔多个包D. 用括号包含多个包4. 下列关于Java异常处理的描述,哪项是正确的?A. try块可以单独存在,不一定要伴随catch块B. catch块可以捕获多种类型的异常C. finally块必须跟在catch块之后D. throw语句用于声明自定义异常5. 在Java中,下列哪个类是所有其他类的父类?A. ObjectB. SystemC. StringD. Math二、填空题1. 在Java中,每个类可以定义一个特殊的方法,该方法的名称是________,当创建类的新对象时会自动调用。
2. 如果需要在Java程序中处理用户输入,可以使用________类。
3. Java中的垃圾回收机制是自动的,这意味着程序员不需要显式地________内存。
4. 为了在Java中实现多线程编程,可以使用关键字________来定义一个线程。
5. 在Java中,所有的类都是定义在某个________文件中。
三、判断题1. Java中的接口可以包含具体的方法实现。
()2. 所有的Java类都是继承自ng.Object类的。
()3. 在Java中,如果一个类没有显式地指定构造方法,编译器会提供一个默认的无参构造方法。
()4. 所有的Java异常都是继承自ng.Exception类的。
()5. 在Java中,final关键字可以用来修饰方法,使其不能被重写。
()四、简答题1. 请简述Java中的封装性,并给出一个示例。
2. 解释什么是Java的继承,以及它的好处。
3. 请描述Java中的多态性,并给出一个实际应用的例子。
基础知识部分:1. JDK是什么?JRE是什么?a) 答:JDK:java开发工具包。
JRE:java运行时环境。
2. 什么是java的平台无关性?a) 答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。
也就是一处编写,处处运行。
这就是java的跨平台性。
3. 在一台电脑上配置java环境,path起什么作用?如何配置?a) 答:path的作用是在DOS环境下,能在任意位置使用JDK目录中b in文件夹中的可执行程序,来编译执行java程序。
b) 在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。
4. 什么样的标识符是合法的?a) 由字母、数字、_和$组成,长度不限。
其中字母可以是大写或小写的英文字母,数字为0到9。
b) 标识符的第一个字符不能是数字。
c) 标识符区分大小写。
d) 标识符不能包含空格。
5. Java有几种基本数据类型?a) byte,short,int,long,float,double,char,boolean6. 什么是隐式类型转换?什么是显示类型转换?a) 当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。
b) 当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。
7. &&和&区别,||和|区别?a) &&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表达式。
b) 而& 和|则将两边的表达式都运算完毕后,再算结果。
8. break,continue区别?a) break结束所有循环,continue结束当次循环,进入下次循环。
9. 类的命名规则是什么?a) 如果类名使用拉丁字母,那么名字的首写字母使用大写字母。
b) 类名最好见名知意,当类名由几个单词复合而成时,每个单词的首写字母使用大写。
10. 类体的内容由两部分构成,哪两部分?a) 一部分是变量的定义,用来刻画属性。
java理论试题及答案Java理论试题及答案一、单选题1. Java语言的特点是什么?- A. 面向过程- B. 面向对象- C. 编译型语言- D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?- A. `class`- B. `interface`- C. `public`- D. `void`答案:A3. 下列哪个是合法的Java标识符?- A. `class`- B. `default`- C. `2things`- D. `class_name`答案:D4. Java中的继承是单继承还是多继承?- A. 单继承- B. 多继承- C. 既不是单继承也不是多继承- D. 可以是单继承也可以是多继承答案:A5. Java中的异常处理机制是通过哪两个关键字实现的? - A. `try` 和 `catch`- B. `if` 和 `else`- C. `switch` 和 `case`- D. `for` 和 `while`答案:A二、多选题1. 下列哪些是Java的基本数据类型?- A. `int`- B. `String`- C. `double`- D. `char`答案:A, C, D2. 在Java中,下列哪些可以作为方法的返回类型?- A. `int`- B. `void`- C. `String`- D. `double`答案:A, B, C, D3. 下列哪些是Java的访问修饰符?- A. `public`- B. `private`- C. `protected`- D. `default`(无修饰符)答案:A, B, C, D三、判断题1. Java程序的执行都是从`main`方法开始的。
()- 答案:正确2. Java中的所有类都是继承自`ng.Object`类的。
() - 答案:正确3. Java语言支持多重继承。
()- 答案:错误4. `final`关键字修饰的类不能被继承。
Java 基础简答题Java 作为一种使用范围广泛的编程语言,其基础语法和知识点非常重要。
本文将介绍一些 Java 基础简答题,帮助读者更好地掌握 Java 语言的基础知识。
下面是本店铺为大家精心编写的4篇《Java 基础简答题》,供大家借鉴与参考,希望对大家有所帮助。
《Java 基础简答题》篇11. 什么是 Java 语言?Java 是一种由 Sun Microsystems 于 1995 年推出的面向对象的编程语言,其主要特点是平台独立性和高度安全性。
Java 程序可以在不同的操作系统上运行,而不需要进行任何修改,这是因为 Java 程序被编译成中间代码 (字节码),然后在 Java 虚拟机 (JVM) 上运行。
2. 什么是面向对象编程?面向对象编程 (OOP) 是一种编程范式,其主要思想是将程序中的数据和操作数据的方法封装在对象中。
对象是 OOP 中最基本的概念,它由数据和方法组成。
方法用于操作对象的数据,而对象则可以继承其他对象的属性和方法。
3. Java 中的基本数据类型有哪些?Java 中的基本数据类型包括 byte、short、int、long、float、double、char 和 boolean。
这些数据类型都有不同的取值范围和占用空间大小。
4. 什么是变量?变量是用于存储数据的标识符,可以用来存储任何类型的数据,包括基本数据类型和引用类型。
在 Java 中,变量必须先声明后使用。
5. 什么是运算符?运算符是用于操作变量和表达式的符号。
Java 中的运算符包括算术运算符、关系运算符、逻辑运算符和位运算符等。
6. 什么是控制语句?控制语句是用于控制程序流程的语句。
Java 中的控制语句包括条件语句 (if、else if、else)、循环语句 (for、while、do-while) 和跳转语句 (break、continue、goto) 等。
7. 什么是数组?数组是一个由相同类型的元素组成的集合。
java基础试题及答案Java是一种广泛应用的计算机编程语言,具有简单、可移植、面向对象、安全以及高性能等特点。
它在互联网、移动应用、企业级应用开发等领域都有着重要的地位。
为了帮助大家更好地掌握Java基础知识,以下是一些常见的Java基础试题及答案。
一、选择题1. 下列关于Java语言的特点,错误的是:A. Java是一种面向对象的语言B. Java具有可移植性C. Java是一种编译型语言D. Java具有垃圾回收机制答案:C2. Java程序的入口点是:A. public static void main(String[] args)B. public static void start(String[] args)C. public static void run(String[] args)D. public static void execute(String[] args)答案:A3. 下列关于Java包(package)的说法,正确的是:A. 包用于组织类和接口B. 包是Java中的关键字C. 一个Java文件只能属于一个包D. 包的命名必须与所在的文件夹相同答案:A二、填空题1. 关键字____用于定义类的继承关系。
答案:extends2. 在Java中,____用于创建对象的实例。
答案:new3. Java中,____可以用于捕获、处理异常。
答案:try-catch三、简答题1. 什么是面向对象编程?答:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将问题描述为一组对象的集合,通过对象之间的互相作用来解决问题。
面向对象编程主要包括封装、继承和多态三个基本特性。
2. Java的封装是指什么?答:封装是面向对象编程中的一种基本特性,指的是将数据和操作数据的方法放在一个类中,对外部隐藏内部的具体实现细节,只暴露必要的接口供外部调用。
1.什么是对象序列化,为什么要使用?所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上。
好处:方便远程调用。
2.值传递与引用传递的区别?所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间。
不会改变原有的值所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空间,当新的变量修改对象的属性时,内存中的数据也会修改。
3.接口与抽象类的区别?1:接口里面不可以实现方法体,抽象类可以实现方法体。
2:接口可以多继承接口,抽象类不可以。
3:接口需要被子类实现,抽象类是要被子类继承(单一继承)。
4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性.5: 接口中不能存在静态方法,但属性可以是final,抽象类中方法中可以有静态方法,属性也可以。
4.谈谈继承,为什么要使用继承?所谓继承就是找出几个类中共同的部分,提取出来作为父类。
而子类只需要继承父类,就可以共享父类的方法。
使用继承能够减少重复的代码。
5.方法重载的好处?所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。
重载的好处就是能够让我们很快的掌握该方法的功能,我们只要记住该方法就能很快的理解该方法的参数以及参数的作用6.项目中印象最深的部分?我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用。
谈谈你对面向对象的理解与认识?我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用。
我的看法就是:1:当加入新的功能的时候不会修改原有的代码。
(面向接口编程)2: 当我们写的一个类可以重复的运用在其他项目中。
Java简答题附答案1. Java有没有goto?有, Goto语句在java中作为保留字, 并没有实现它.带标号的break, continue局限于循环体中跳转带标号的goto可以在⼀个函数(c语⾔)中任意跳转Goto⽐带标号的break,continue⽤法灵活, 正因为太灵活了使程序的逻辑结构变得复杂, 流程不够清晰, 程序的可读性下降所以java把goto保留了.2.在JAVA中如何跳出当前的多重嵌套循环?Break关键字+标签, 标签的位置放在最外层循环开始的上⼀⾏, 以冒号结束. 即使⽤break outer到指定的位置, 来结束多重嵌套循环.3.short s1= 1; s1 = 1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?没有错; 没有错4.char型变量中能不能存贮⼀个中⽂汉字?为什么?可以, 因为char是两个字节, ⽽unicode的汉字编码所占⽤的存储空间就是两个字节5.使⽤final关键字修饰⼀个变量时,是引⽤不能变,还是引⽤的对象不能变?是引⽤不能变, ⽽不是引⽤的对象不能改变6.接⼝是否可继承接⼝?抽象类是否可实现(implements)接⼝?抽象类是否可继承具体类(concreteclass)?抽象类中是否可以有静态的main⽅法?接⼝可以继承接⼝, 抽象类可以实现接⼝, 抽象类可以继承具体类, 抽象类可以有静态的main⽅法, 还可以直接执⾏的.7.Overload和Override的区别?Overload的⽅法是否可以改变返回值的类型?Overload是在⼀个类⾥⾯⽅法的重载, 指⽅法名相同参数类型,个数,顺序不同, 来实现的⽅法重载Override是在继承关系中, ⼦类重写⽗类的⽅法, ⽅法名, 返回值, 参数都必须相同.重载的时候是可以改变⽅法的返回值的, 因为重载与⽅法的放回值类型⽆关8.构造⽅法的作⽤是什么?构造⽅法和普通⽅法的区别?构造⽅法的作⽤是在新建⼀个对象的时候, 调⽤构造⽅法来创建对象.构造⽅法和普通⽅法的区别: 1.普通⽅法必须有返回值类型修饰符, ⽽构造⽅法不能有返回值类型修饰符; 2.构造⽅法名必须和类名相同 3.普通⽅法⽤来定义对象的⾏为, ⽽构造⽅法⽤来初始化9.super()或者this():为什么⼀定要定义在第⼀⾏?是否可以同时出现?因为super()和this()是调⽤的⽗类或本类的⽆参构造器, 因为Java不允许调⽤没有初始化的成员. 只有使⽤了super()或this()来初始化了对象之后, 才能调⽤该对象并继续进⾏后续操作.Super()为什么要定义在第⼀⾏? 因为⼦类的构造器中可能会使⽤⽗类的属性或⽅法, 如果⽗类都没有被创建, 那么就会导致空指针异常, 因此, super()应先执⾏, 来创建⽗类的对象.This()为什么要定义在第⼀⾏? 因为如果不定义在第⼀⾏, 那么当⼦类创建对象时, ⾸先会调⽤⽗类的⽆参构造器, 这时候就创建了⼀个⽗类的对象. 然后继续执⾏, 遇到了this()的时候, 就调⽤该构造器, ⽽这个构造器⼜属于是创建⼦类的对象, ⼜需要去调⽤⽗类的构造器. 也就是说, 造成了资源的浪费, 和同步不⼀致的问题.不能同时出现, 因为它们两个都要求只能出现在第⼀⾏.Super()和this()都是调⽤构造函数进⾏初始化, ⽽初始化的动作需要先完成.10.访问修饰符有哪些?各⾃的作⽤范围是什么?Private: 私有的, 本类中Public: 共有的, 任何位置Protected: 受保护的, 本类, 同⼀个包和⼦类中可以访问缺省的: 同⼀个包中11.static的作⽤和⽤法?Static的作⽤是把属性和⽅法定义为静态的, 可以在不创建对象的时候就调⽤这些属性和⽅法. 它只需要初始化⼀次, 可⽤来定义不经常改变的属性, 或者是对象的计数器.⽤法? 类名.属性或类名.⽅法名() , 即通过类名直接调⽤.12.是否可以从⼀个static⽅法内部发出对⾮static⽅法的调⽤?不可以.Static的⽅法内部职能访问static修饰的属性和⽅法因为普通的属性和⽅法是依赖于对象的, 只有创建了对象之后, 才能通过对象进⾏访问. ⽽此时静态⽅法是没有创建对象的, 因此就会报异常.13.值传递和引⽤传递的区别? 1.⼀个是针对基本数据类型, ⼀个针对引⽤数据类型 2.值传递传递的是值, 引⽤传递传递的是地址 3.值传递是拷贝了⼀份新的值给形式参数, 在⽅法中进⾏操作不会影响原来的值; ⽽引⽤传递的是地址, 两个引⽤指向同⼀个地址, 因此⽅法中改变了这个地址中的数据,那么原来的数据也会改变.14.什么继承?继承有什么优点?继承使⽤什么关键字?继承的特点?继承的限制?⼀个类可以同时继承多个类吗?所有类的⽗类是什么?继承就是⼀个类继承另⼀个类的属性和⽅法. 继承的优点是可以实现代码的重⽤, 使组件类型保持⼀致. Extends关键字, 类只能单继承类, 但可以实现多个接⼝. 所有类的⽗类是Object类15.什么是重写?⽤什么⽅法可以强制检当前⽅法是否重写⽗类⽅法?重写是指在继承关系中, ⼦类重新实现了⽗类中存在的⽅法. @Override关键字16.什么是多态?多态主要的应⽤是什么?多态就是指同⼀个⽅法, 不同的实现. 多态分为编译时的多态和运⾏时的多态, 编译时的多态通过⽅法的重载实现. 运⾏时的多态通过⽅法的重写实现. 多态主要运⽤于增加程序的灵活性, 增加程序的可扩展性.17.什么是抽象⽅法?什么是抽象类?Java抽象类可以有构造函数吗?Java抽象类可以有static⽅法吗?abstract⽅法可以⽤static修饰吗?抽象⽅法就是使⽤abstract关键字修饰的⽅法.抽象类是指abstract关键字修饰的类.Java抽象类可以有构造函数,Java抽象类可以有static⽅法,abstract⽅法不能⽤static修饰, 因为抽象⽅法需要被继承和实现,⽽static修饰的⽅法是可以通过类名直接访问的, 还没有⽅法体就被访问逻辑上是不合理的.18.静态⽅法可以被重写吗?Java抽象类中可以包含main⽅法吗?静态⽅法不可以被重写. 因为静态⽅法是在类加载时就被加载到内存中的⽅法, 在整个运⾏过程中保持不变, 因⽽不能重写. 但⾮静态⽅法是在对象实例化才单独申请内存空间, 为每⼀个实例分配独⽴的运⾏内存, 因⽽可以重写.Java抽象类可以包含main⽅法19.abstract class和interface的区别?抽象类是指abstract关键字所修饰的类, ⾥⾯可以包含普通⽅法和抽象⽅法, 还可以有构造函数和普通属性.Interface是接⼝,⾥⾯只能包含常量和抽象⽅法, 不能有构造⽅法,普通属性和普通⽅法, 也不鞥你有main⽅法,抽象类是⼀个类, ⽽接⼝的核⼼是⽅法20.请说说引⽤和对象?引⽤是指⼀个指向引⽤数据类型地址的指针, 对象是指⼀个类的实例.引⽤可以指向⼀个对象, 对象也可以包含多个引⽤对象是引⽤数据类型, 引⽤数据类型不仅仅包含对象。
java初级试题及答案一、选择题(每题2分,共20分)1. Java语言中的“==”操作符用于比较两个对象的:A. 引用B. 值C. 类型D. 内存地址答案:A2. 下列哪个是Java的关键字?A. classB. functionC. returnD. include答案:A3. 在Java中,哪个关键字用于定义一个类?A. classB. defineC. typeD. structure答案:A4. Java中的main()方法必须定义为:A. public static voidB. private static voidC. public static intD. private static int答案:A5. 下列哪个是Java的访问修饰符?A. publicB. staticC. finalD. abstract答案:A6. Java中的字符串是:A. 可变的B. 不可变的C. 动态的D. 静态的答案:B7. 在Java中,哪个类定义了基本的输入输出流?A. java.io.InputStreamB. java.io.OutputStreamC. java.io.FileInputStreamD. java.io.FileOutputStream答案:A8. Java中的异常处理是通过以下哪个关键字实现的?A. tryB. catchC. finallyD. all of the above答案:D9. 下列哪个是Java集合框架中的接口?A. ArrayListB. ListC. HashMapD. Map答案:B10. Java中的哪个类提供了日期和时间的表示?A. DateB. TimeC. CalendarD. DateTime答案:A二、填空题(每空2分,共20分)1. Java是一种_________语言,它支持跨平台运行。
答案:面向对象2. Java程序的执行入口是_________方法。
java基础试题答案Java 试题⼀、选择题(单选每题2分共20分)1.下列有关Java语⾔的叙述中,正确的是A、Java是不区分⼤⼩写的B、源⽂件名与public类型的类名必须相同C、源⽂件名其扩展名为.jarD、源⽂件中public类的数⽬不限2.下列关于栈的叙述正确的是A)栈是⾮线性结构B)栈是⼀种树状结构C)栈具有先进先出的特征D)栈具有后进先出的特征3.在⾯向对象的⽅法中,⼀个对象请求另⼀个对象为其服务的⽅式是通过发送A、调⽤语句B、命令C、⼝令D、消息4.下列语句执⾏后,k的值为()Int i=6,j=8,k=10,m=7;if(!(i>j | m>k++)) k++;A、 12B、11 C 、10 D、 95.关于下列程序段的输出结果,说法正确的是public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}A、有错误,变量i没有初始化。
B、nullC、1D、06.欲构造ArrayList类的⼀个实例,此类继承了List接⼝,下列哪个⽅法是正确的?A ArrayList myList=new Object();B List myList=new ArrayList();C ArrayList myList=new List();D List myList=new List();7.下列赋值语句中错误的是A、float f=11.1fB、double d=5.3E12;C、char c='\r';D、byte bb=433; 范围是-128 到127 之间8. 下列哪个类声明是正确的?A)abstract final class HI{···}B)abstract private move(){···}C)protected private number;D)public abstract class Car{···}9.下列叙述中,错误的是A、接⼝与类的层次⽆关B、通过接⼝说明类所实现的⽅法C、通过接⼝可了解对象的交互界⾯D、接⼝与存储空间有关10.下列代码的执⾏结果是:public class Test5{public static void main(String args[]){String s1=new String("hello");String s2=new String("hello");System.out.print(s1==s2);System.out.print(",");System.out.println(s1.equals(s2));}}A、true,falseB、true,trueC、false,trueD、false,false⼆、填空(每空2分共12分)1 Java语⾔中____________ 是所有类的根。
java基础笔试题(答案已整理)Java基础试题一:选择题(1*30=30)(题目写在答题纸上面)1:Java 提供哪几种运算符多选( abcd )。
A)算术运算符 B)位运算符C)关系运算符 D)逻辑运算符 E)条件运算符2:ng包的()方法比较二个对象是否相等返回true.。
(b)A:toString() B:equals() C:compare D:以上都不正确3:下列对Java 的变量与函数说法正确的是多选( ace )。
A)变量是用来保存数据的 B)变量是用来实现操作过程的C)函数是用来实现操作过程的D)函数是用来保存数据的 E)函数的参数是数据的入口4:已知:int[] a = new int[100];在下列给出的数组元素中,非法的是。
(d)A:a[0] B:a[1] C:a[99] D:a[100]5:在java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。
这种面向对象程序的特性称为。
(c)A:隐藏 B:覆盖 C:重载D:Java不支持此特性6:()是一组常量和抽象方法的集合。
(d)A:实例 B:类 C:包D:接口7:下面关于数组说法正确的是多选(abcde)。
A)一维数组实质上是相同类型变量的列表B)创建一个数组首先定义数组变量所需的类型C)char c[]=new char[26];可声明一个含有 26 个元素的 char型数组D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存E)int twain[][] = new int[4][5];可声明一个二维数组8:Java源文件和编译后的文件扩展名分别为。
(b)A:.class和.java B:.java各.classC. "\"\"D. "\t\t\r\n"E. "boolean"514:在使用super 和this关键字时,以下描述正确的是。
java基础练习题答案一、选择题1. Java是一种:A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案:B2. 以下哪个是Java的基本数据类型?A. StringB. IntegerC. booleanD. Object答案:C3. Java中的main方法是:A. 程序的入口点B. 程序的结束点C. 程序的循环点D. 程序的异常处理点答案:A4. 在Java中,哪个关键字用于定义类?A. classB. functionC. structD. interface答案:A5. Java中的异常处理是通过以下哪个关键字实现的?A. tryB. catchC. finallyD. A和B答案:D二、填空题1. Java是一种面向________的语言。
答案:对象2. Java程序的执行流程是从________方法开始的。
答案:main3. 在Java中,所有的类都是继承自________类。
答案:Object4. 一个Java程序可以包含多个类,但只有一个________类。
答案:公共(public)5. Java的垃圾回收机制用于________内存。
答案:自动回收三、简答题1. 请简述Java的跨平台特性。
答案:Java的跨平台特性主要得益于它的编译和运行机制。
Java 源代码首先被编译成字节码,这些字节码可以在任何安装了Java虚拟机(JVM)的平台上运行,而不需要重新编译。
2. 什么是Java的封装性?答案:封装性是面向对象编程的一个核心概念,它指的是将对象的数据(属性)和行为(方法)捆绑在一起,并隐藏内部实现细节,只通过公共接口与外部交互。
四、编程题1. 编写一个Java程序,计算并打印1到100的整数之和。
```javapublic class SumCalculator {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}System.out.println("The sum of numbers from 1 to 100 is: " + sum);}}```2. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除运算。
1. 在继承关系中,方法的重写要遵循“两同两小一大”规则,简述其含义。
答:“两同”即方法名相同、形参列表相同;“两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常应比父类方法声明抛出的异常类更小或相等;“一大”指的是子类方法的访问权限应比父类方法更大或相等。
2. 如果在某个方法中访问名为a的变量,简述系统查找变量a的顺序。
答:先查找本方法中是否有a局部变量,再查找当前类中是否有a的成员变量,最后查找当前类的直接父类中是否包含a成员变量,依次上溯到间接父类,直到ng.Object类,如果最终不能找到,则系统出现编译错误。
3. 说明重载和重写的区别。
答:方法的重载和重写是Java多态性的不同表现。
重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称、参数和返回值类型,就说该方法被重写。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。
如果在一个类中定义了多个同名的方法,它们有不同的参数个数或不同的参数类型,则称为方法的重载。
重载的方法是可以改变返回值的类型的。
4. 说明接口和抽象类的区别。
答:·抽象类可以有构造方法,接口中不能有构造方法。
·抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的。
·抽象类中抽象方法可以指定为public,接口中抽象方法不能指定其他修饰符,固定就是public,因此可省略不写。
·抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的。
·一个类可以实现多个接口,但只能继承一个抽象类。
5. 说明= =和equals()的区别。
答:如果= =的两边都是基本类型变量或包装类对象所组成的表达式,= =用于比较两边的表达式的值是否相等。
如果= =的两边是引用类型的变量,= =用于判断这两个引用类型的变量是否引用同一块内存。
java基础考试试题及答案一、选择题(每题2分,共20分)1. Java语言属于以下哪一类编程语言?A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案:B2. 下列哪个是Java的关键字?A. classB. functionC. defineD. include答案:A3. Java中,哪个关键字用于定义一个类?A. classB. structC. typeD. interface答案:A4. Java中的main方法必须定义为:A. public static void main(String args[])B. private static void main(String[] args)C. public static void main(String[] args)D. public void main(String args[])答案:A5. 以下哪个是Java的合法标识符?A. 2variableB. variable2C. variable#2D. variable-2答案:B6. Java中,哪个关键字用于实现继承?A. extendsB. inheritC. deriveD. super答案:A7. Java中,哪个关键字用于实现多态?A. overloadB. overrideC. polymorphD. overloading答案:B8. Java中,哪个关键字用于定义接口?A. classB. structC. interfaceD. package答案:C9. Java中,哪个关键字用于定义包?A. packageB. classC. importD. export答案:A10. Java中,哪个关键字用于实现异常处理?A. tryB. catchC. finallyD. all of the above答案:D二、填空题(每空2分,共20分)1. Java是一种________面向对象的编程语言。
JAVA程序设计基础知识题库(包含20道单选题,5道多选题,5道判断题,3道简答题,5道程序设计题,含答案与解析)一、单选题(共20题)1.下列哪个关键字用于定义一个类的属性为常量?A. finalB. staticC. publicD. private答案:A解析:final关键字用于修饰一个类的属性时,该属性就被定义为常量,不可被修改。
2.下列哪个方法用于将一个字符串转换为整型数据?A. parseInt()B. toInt()C. toInteger()D. valueOf()答案:A解析:parseInt()方法是将字符串转换为整型数据的常用方法。
3.下列哪个关键字用于表示一个方法不返回任何值?A. voidB. intC. doubleD. float答案:A解析:void关键字用于修饰一个方法时,表示该方法不返回任何值。
4.下列哪个循环结构不会先执行循环体再判断循环条件?A. for循环B. while循环C. do-while循环D. foreach循环答案:C解析:do-while循环先执行一次循环体,再根据循环条件判断是否继续执行循环。
5.下列哪个访问修饰符用于表示一个类或方法只能被同一包内的其他类访问?A. privateB. publicC. protectedD. 默认访问修饰符答案:D解析:默认访问修饰符不需要显式地声明,表示只能被同一包内的其他类访问。
6.下列哪个关键字用于表示一个方法或属性可以被同一类的其他方法或属性访问?A. privateB. publicC. protectedD. 默认访问修饰符答案:D解析:默认访问修饰符不需要显式地声明,表示可以被同一类的其他方法或属性访问。
7.下列哪个集合类是线程安全的?A. ArrayListB. LinkedListC. HashSetD. Vector答案:D解析:Vector是线程安全的集合类。
8.下列哪个关键字用于表示一个方法或属性可以被任意类访问?A. privateB. publicC. protectedD. 默认访问修饰符答案:B解析:public关键字用于修饰一个方法或属性时,表示可以被任意类访问。
JAVA基础知识考核题班级:姓名:成绩:一、选择题(80分,每题2分)1.J ava编译器的命令是( D )A.javaB. appletviewerC. jdbD. javac2. Java解释器的命令是( A )A.javaB. appletviewerC. jdbD. javac3. Java开发人员使用的开发工具包是( C )A.JVMB. JREC. JDKD. Eclipse4. 下列说法正确的是( B )A. 使用Java语言开发的程序可以在任何平台下运行,且不需要JREB. 使用Java语言开发的程序可以在任何平台下运行,但需要JREC. Java虚拟机是独立的,JDK中不包含虚拟机D. Java语言编译后是字节码文件,操作系统可直接执行5. 下列全部是合法的Java标识符的是( B )A. 09stu teacher $moneyB _salary post123 nameC case abstract finalD #ID list today6. 程序中有如下语句final float PI = 3.14f;下列说法正确的是( C )A PI 是一个变量,初始化的值是3.14.B 定义有错误,PI 是float类型3.14后不能加fC PI 是一个常量,其值是3.14D 对PI可以重新赋值,如PI = 3.1415926;7 下列初始化值正确的是(B )A float score = 90.5;B boolean flag = false;C char name = "张三";D boolean num = 1;8. 有如下代码class ScopeV ar {public static void main(String [ ] args) {int num = 10;if ( num = = 10) {int num1 = num * num;}num1 = num1+10;System.out.println(num1);}}输出正确的是( D )A 110B 20C 不确定D 程序错误9. 下面对Scanner 描述正确的是( C )A Scanner类提供输入数据的方法,但只能输入字符串B Scanner的使用方法:Scanner.next();C 使用Scanner需要导入java.util.Scanner类D 从键盘读取一个整数的方法Scanner sc = new Scanner();int num = sc.nextInt();10. 有String str1="hello"; int num=100;则对str1+100 说法正确的是( A )A str1+100 的值是一个字符串hello100B str1+100会产生语法错误,字符串不能和整数相加C str1+100不会产生语法错误,最终的结果是100,str1的值被忽略掉D str1+100不会产生语法错误,最终的结果是hello,100被忽略掉11. 哪种方法返回String中的字符数( B )A. size()B. length()C.width()D.girth()12. 下面创建数组正确的是BA int[] int_array = int[10];B int[] int_array = new int[10];C int[] int_array = new int(10);D int[] int_array = new int{10};13. 研究下面的Java代码:switch(x){case 1:System.out.println(1);case 2:case 3:System.out.println(3);case 4:System.out.println(4);}当x=2时,运行结果是(C)A 没有输出任何结果B 输出结果为3C 输出结果为3和4D 输出结果为1、3和414. 给定一个Java程序的代码片段,如下if(grade==’A’||grade==’B’)score = 90;else if(grade ==’C’||grade = ‘D’)score = 70;elsescore = 60;把这段代码转换为switch语句,以下正确的是:( D )A switch(grade){case ‘A’:case ‘B’:score = 90;case ‘C’:case ‘D’ score = 70;default:score = 60;}B switch(grade){case ‘A’:break;case ‘B’:score = 90;case ‘C’:break;case ‘D’ score = 70;Default:score = 60; break;}C switch(grade){case ‘B’:score = 90;break;case ‘D’ score = 70;break;default:score = 60; break;}D switch(grade){case ‘A’:case ‘B’:score = 90; break;case ‘C’:case ‘D’ score = 70; break;Default:score = 60; break;}15 .阅读以下代码import java.util.Scanner;public class Test{public static void main(String[] args){Scanner sc = new Scanner(System.in);System.out.println(“请输入买包子所用的钱的数目”)double money = sc.nextDouble();int count = buy(money);System.out.println(“可买包子的数目为:”+count);}public static int buy(double money){int count = (int) (money/0.4);return count;}}描述正确的是(A )A 如果输入5,输出是:可买包子的数目为:12B 如果输入5,输出是: 可买包子的数目为:5C 如果输入5,输出是:可买包子的数目为:12.5D 程序错误,没有输出16. 在Java中,下列代码运行的结果是( C )public static void main(String[] args){ int a=1, b=2, c=3;if (a<0)if (b<0)c=10;elsec=20;System.out.println(c);}A、输出:10B、输出:20C、输出:3D、编译报错17. 分析下面的Java代码片段,编译运行后的输出结果是(D )。
Java 基础知识问答题包含的模块本文分为十九个模块,分别是:Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM,如下图所示:共包含208 道问答题,本文的宗旨是为读者朋友们整理一份基础知识的简单大纲,下面一起进入主题吧。
Java 基础1. JDK 和JRE 有什么区别?•JDK:Java Development Kit 的简称,Java 开发工具包,提供了Java 的开发环境和运行环境。
•JRE:Java Runtime Environment 的简称,Java 运行环境,为Java 的运行提供了所需环境。
具体来说JDK 其实包含了JRE,同时还包含了编译Java 源码的编译器Javac,还包含了很多Java 程序调试和分析的工具。
简单来说:如果你需要运行Java 程序,只需安装JRE 就可以了,如果你需要编写Java 程序,需要安装JDK。
2. == 和equals 的区别是什么?== 解读对于基本类型和引用类型== 的作用效果是不同的,如下所示:•基本类型:比较的是值是否相同;•引用类型:比较的是引用是否相同;代码示例:String x = "string";String y = "string";String z = new String("string");System.out.println(x==y); // trueSystem.out.println(x==z); // falseSystem.out.println(x.equals(y)); // trueSystem.out.println(x.equals(z)); // true代码解读:因为x 和y 指向的是同一个引用,所以== 也是true,而new String()方法则重写开辟了内存空间,所以== 结果为false,而equals 比较的一直是值,所以结果都为true。
equals 解读equals 本质上就是==,只不过String 和Integer 等重写了equals 方法,把它变成了值比较。
看下面的代码就明白了。
首先来看默认情况下equals 比较一个有相同值的对象,代码如下:class Cat {public Cat(String name) { = name;}private String name;public String getName() {return name;}public void setName(String name) { = name;}}Cat c1 = new Cat("王磊");Cat c2 = new Cat("王磊");System.out.println(c1.equals(c2)); // false输出结果出乎我们的意料,竟然是false?这是怎么回事,看了equals 源码就知道了,源码如下:public boolean equals(Object obj) {return (this == obj);}原来equals 本质上就是==。
那问题来了,两个相同值的String 对象,为什么返回的是true?代码如下:String s1 = new String("老王");String s2 = new String("老王");System.out.println(s1.equals(s2)); // true同样的,当我们进入String 的equals 方法,找到了答案,代码如下:public boolean equals(Object anObject) {if (this == anObject) {return true;}if (anObject instanceof String) {String anotherString = (String)anObject;int n = value.length;if (n == anotherString.value.length) {char v1[] = value;char v2[] = anotherString.value;int i = 0;while (n-- != 0) {if (v1[i] != v2[i])return false;i++;}return true;}}return false;}原来是String 重写了Object 的equals 方法,把引用比较改成了值比较。
总结:== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而equals 默认情况下是引用比较,只是很多类重新了equals 方法,比如String、Integer 等把它变成了值比较,所以一般情况下equals 比较的是值是否相等。
3. 两个对象的hashCode() 相同,则equals() 也一定为true,对吗?不对,两个对象的hashCode() 相同,equals() 不一定true。
代码示例:String str1 = "通话";String str2 = "重地";System. out. println(String. format("str1:%d | str2:%d", str1. hashCode(),str2. hashCode()));System. out. println(str1. equals(str2));执行的结果:str1:1179395 | str2:1179395false代码解读:很显然“通话”和“重地”的hashCode() 相同,然而equals() 则为false,因为在散列表中,hashCode() 相等即两个键值对的哈希值相等,然而哈希值相等,并不一定能得出键值对相等。
4. final 在Java 中有什么作用?•final 修饰的类叫最终类,该类不能被继承。
•final 修饰的方法不能被重写。
•final 修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。
5. Java 中的Math. round(-1. 5) 等于多少?等于-1,因为在数轴上取值时,中间值(0.5)向右取整,所以正0.5 是往上取整,负0.5 是直接舍弃。
6. String 属于基础的数据类型吗?String 不属于基础类型,基础类型有8 种:byte、boolean、char、short、int、float、long、double,而String 属于对象。
7. Java 中操作字符串都有哪些类?它们之间有什么区别?操作字符串的类有:String、StringBuffer、StringBuilder。
String 和StringBuffer、StringBuilder 的区别在于String 声明的是不可变的对象,每次操作都会生成新的String 对象,然后将指针指向新的String 对象,而StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下最好不要使用String。
StringBuffer 和StringBuilder 最大的区别在于,StringBuffer 是线程安全的,而StringBuilder 是非线程安全的,但StringBuilder 的性能却高于StringBuffer,所以在单线程环境下推荐使用StringBuilder,多线程环境下推荐使用StringBuffer。
8. String str="i"与String str=new String("i")一样吗?不一样,因为内存的分配方式不一样。
String str="i"的方式,Java 虚拟机会将其分配到常量池中;而String str=new String("i") 则会被分到堆内存中。
9. 如何将字符串反转?使用StringBuilder 或者stringBuffer 的reverse() 方法。
示例代码:// StringBuffer reverseStringBuffer stringBuffer = new StringBuffer(); stringBuffer. append("abcdefg");System. out. println(stringBuffer. reverse()); // gfedcba // StringBuilder reverseStringBuilder stringBuilder = new StringBuilder(); stringBuilder. append("abcdefg");System. out. println(stringBuilder. reverse()); // gfedcba 10. String 类的常用方法都有那些?•indexOf():返回指定字符的索引。
•charAt():返回指定索引处的字符。
•replace():字符串替换。
•trim():去除字符串两端空白。
•split():分割字符串,返回一个分割后的字符串数组。
•getBytes():返回字符串的byte 类型数组。
•length():返回字符串长度。
•toLowerCase():将字符串转成小写字母。
•toUpperCase():将字符串转成大写字符。
•substring():截取字符串。
•equals():字符串比较。
11. 抽象类必须要有抽象方法吗?不需要,抽象类不一定非要有抽象方法。
示例代码:abstract class Cat {public static void sayHi() {System. out. println("hi~");}}上面代码,抽象类并没有抽象方法但完全可以正常运行。
12. 普通类和抽象类有哪些区别?•普通类不能包含抽象方法,抽象类可以包含抽象方法。
•抽象类不能直接实例化,普通类可以直接实例化。
13. 抽象类能使用final 修饰吗?不能,定义抽象类就是让其他类继承的,如果定义为final 该类就不能被继承,这样彼此就会产生矛盾,所以final 不能修饰抽象类,如下图所示,编辑器也会提示错误信息:14. 接口和抽象类有什么区别?•实现:抽象类的子类使用extends 来继承;接口必须使用implements 来实现接口。