`

JAVA 基础的基础知识问答

    博客分类:
  • java
阅读更多

原创   JAVA 基础的基础知识问答 收藏

<script type="text/javascript"> document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData(&quot;text&quot;); if (text &amp;&amp; text.length&gt;300) { text = text + &quot;\r\n\n本文来自CSDN博客,转载请标明出处:&quot; + location.href; clipboardData.setData(&quot;text&quot;, text); } }, 100); } } </script><script class="blogstory">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

1、Java的分类有哪些?
   JavaSE  ---> j2SE      主要开发单机或局域网内的应用程序
   JavaEE  ---> j2EE      开发基于Internate互联网应用程序
   JavaME  ---> j2ME      开发嵌入式应用程序,比如手机程序
  
2、C++是一套面向对象的语言,Java是一套完全面向对象的语言,为什么说java是完全的呢?
   C++中main方法在类外面定义,是独立的所以C++不是完全面向对象的
   Java的main方法定义在类的内部被类所封装所以java是完全面向对象的
  
3、OOP指的是什么?
   OOA 表示面向对象的设计  OOP表示面向对象的编程
  
4、JDK的配置有几个环境变量?分别是什么?
   JKD的环境变量有3个分别是 java_home 、 classpath  、 path
   java_home : 用来指定JDK安装路径
   classpath : 用来指定JDK下lib目录中 dt.jar 和 tools.jar 的路径
   path : 用来指定JDK下bin目录的位置
  
5、Java中的数据类型分为几类?分别是什么?
  两种 ,8种基本数据据类型和引用数据类型
 
 
6、String是否是java基本数据类型中的?String中的split和indexOf方法的作用什么?
   不是 ,应该是引用数据类型中的
   split指定一个分隔符,将一个字符串中分隔符左右的内容存放到数组中
   indexOf 用来搜索指定字符串在原字符串中首次出现的下标索引


7、String str = new String("abc");这句代码创建出了几个Object类型的对象?分别是谁?
   ****创建了两个对象一个是"abc",又用new创建了一个对象。
      
8、String str ="abc";和String str = new String("abc");的区别是什么?
   String str ="abc";  叫做字面量赋值,先到内存中的字符串池中查找,找到相同内容直接指向
                       如果在池子中没有相同内容,将开辟新的内存空间
   String str = new String("abc");  每次运行都会开辟内存空间。                   

9、下面的程序是否能够正常运行?
    class Create_Message{
       public static void main(String[] args){
           String mess = "";
           for(int i=0;i<10000;i++){
              mess += i;
              System.out.println(mess);
           }
       }
    }
   
    可以正常运行
   
10、在 switch(type) 中 type的位置允许定义那几种数据类型?
     byte,short,int,char
    
11、请说明 break 和 continue 的区别
    break 退出当前循环体,不再进行循环。
    continue  退出当前循环体并开始下一次循环。
   
12、类和对象的区别是什么?
类:类是抽象的概念,在Java中不能够直接被使用必须创建出对象实例后才能使用
对象:对象是类的一个具体表现,也称之为类的一个实例,可以通过
      类名 对象名 = new 构造器();
      创建出一个指定类的实例,对象是可以直接使用的。

13、第9题程序运行的效率高吗?请将原因说出来?
效率不高,因为每次String类型对象重新赋值都会在内存中开辟一块新的内存空间
而循环10000次就要开辟10000个内存,而最后只会使用1个内存空间,其他的9999个内存
空间都会被java中的垃圾回收机制回收,也就是说java要对内存操作9999次的垃圾回收
在加上开辟是的10000次共19999次,所以效率不高,可以使用 StringBuffer或者StringBuilder
进行解决。

14、面向对象的三大特点是什么?
封装、继承、多态

15、方法的调用步骤是什么?
1、查看方法所在类的类名
2、创建方法所在类的对象
3、通过创建好的对象.方法名称调用
4、如果方法有返回值将接收返回值,如果没有调用结束

16、属性和变量的区别是什么?
变量和属性的区别主要在于是否我们可以控制其访问的权限,如果将一个普通变量加上了
getter / setter 方法那么这个变量就变成了一个属性

17、Java中的访问修饰符有哪些?
public private friendly(默认) protected

18、包的作用是什么?哪个关键字是用来定义一个包?哪个关键字是用来导入一个包的?
作用是用来区分类的不同功能,还可以避免类名冲突问题
package 创建包
import 导入包

19、继承的关键字是什么?super关键字的作用是什么?this的作用是什么?super()是用来干什么的?
extends 表示继承
super表示调用父类
this表示本类的一个对象注意不能够在static中使用
super()表示调用父类的构造函数


20、介绍一下你所理解的多态性?
多态的实现有两种形式:
第一种是要求有两个或者两个以上的类构成并且这些类之间必须有继承关系,我们此时
可以在子类中继承父类的方法并通过覆盖、重写父类的方法在子类中完成不同的事情。
第二种:在一个类中将方法重载可以实现多态性,可以让我们完成不同的事情。


21、什么是方法的重载?什么是方法的覆盖?
重载:方法名称相同,但其参数列表中的参数个数及其参数类型不同,注意此处和返回值类型无关。
覆盖:当两个或两个以上类发生继承关系时,子类的方法名,返回类型,参数列表和父类中的完全
      一致时,我们说子类的方法覆盖了父类的方法。

22、Overload和Override的区别?
Overload:方法名称相同,但其参数列表中的参数个数及其参数类型不同,注意此处和返回值类型无关。
Override:当两个或两个以上类发生继承关系时,子类的方法名,返回类型,参数列表和父类中的完全
      一致时,我们说子类的方法覆盖了父类的方法。


23、介绍一下你在项目开发中对static关键字的理解。
static用在变量上: 此变量在内存中只有一个副本,可以直接通过类名调用。
static用在方法上:此方法可以直接通过类名调用,不能够使用非静态变量或者调用非静态方法,同时不能够被子类覆盖成非静态方法。
static静态块: 在类加载时执行一次,不能够使用非静态变量或者调用非静态方法。

24、介绍一下 final 关键字的作用
final用在变量上:变量变成一个常量
final用在方法上:方法不能够被子类覆盖
final用在类上:类不能够被继承如:String类

25、抽象类如何进行定义?抽象类是否可以实例化?如何实现抽象类中的方法?
abstract关键字定义
抽象类不能够被实例化
用一个普通类通过extends继承抽象类,并在子类中实现父类中所有的抽象方法。

26、接口如何定义?接口中允许写哪些东西?实现接口的关键字是什么?
interface关键字定义。
接口中只允许定义常量和方法的声明。
可以通过implements关键实现接口

27、什么是程序的可扩展性?接口的作用是什么?
在不改变原有代码的基础之上为程序增加新的功能,我们称之为程序的可扩展性。
接口的作用是用来扩展应用程序的。

28、java是否允许父类引用接收子类对象?
允许

29、接口和抽象类的区别
接口是用 interface进行定义
抽象类是通过abstract关键字定义
接口中的方法都是声明方式定义
抽象类中的抽象方法都是通过abstract关键字定义

他们都要求在子类中实现所有接口或抽象类中的声明方法和抽象方法。
注意:接口和抽象类的使用,我们遵循的原则是先考虑使用接口,如果接口不能满足在考虑使用
抽象类

30、是否可以继承String类?
不可以

31、构造器(Constructor)是否可被(override)?

32、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
可以,可以,可以

33、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会,在return之前执行

34、java中 == 和 equals的区别是什么?
==判断两端的内存地址是否相同,换句话可以用来判断==两边的对象是否是同一个对象。
equals分为两种情况:
1、两端为8种基本数据类型或String类型:比较的是值也就是内容。
2、两端为引用类型:比较的是内存地址是否相同。

35、float型float f=3.4是否正确?
不正确, float f = (float)3.4;  float f = 3.4f;

36、java中是否允许多重继承?请举例说明为什么?
不允许多继承,主要原因是为了避免C++中多重继承造成的菱形问题。

37、STRING与STRINGBUFFER的区别。(上课时曾做为一个自学内容布置过)
String 每次赋新值都会开辟一块新的内存空间
STRINGBUFFER 每次赋新值都会在原有内存空间地址上修改内容,不会重新开辟内存。
注:在JDK5.0新特性中增加了一个叫做 StringBuder的类,可以到网上查看一下相关内容

38、数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()方法
String类有length()方法

分享到:
评论

相关推荐

    java基础知识问答

    ### Java基础知识问答详解 #### 一、JRE与JDK的区别及应用场景 1. **JRE(Java Runtime Environment)**:是Java运行环境的基础部分,包括了Java虚拟机(JVM)以及Java类库标准版。它使得Java应用程序可以在任何...

    JAVA基础知识问答大全

    JAVA基础知识问答大全.rar JAVA基础知识问答大全.rar JAVA基础知识问答大全.rar JAVA基础知识问答大全.rar JAVA基础知识问答大全.rar JAVA基础知识问答大全.rar JAVA基础知识问答大全.rar

    Java基础问答知识

    Java基础问答知识 解压密码:www.sina.com

    java知识问答服务器

    Java知识问答服务器是一种基于Java平台开发的服务器程序,它的核心目标是实现一个高效、稳定的知识问答交互系统。在这个系统中,开发者使用了`ServerSocket`类来创建服务器端的套接字,允许服务器监听并接受来自...

    JAVA基础知识问答大全.rar

    这份“JAVA基础知识问答大全”涵盖了Java学习者最关心的核心概念,包括语法、类库、编程实践等多个方面。以下是对其中一些关键知识点的详细阐述: 1. **Java语言基础** - **变量与数据类型**:Java提供了基本数据...

    JAVA基础知识及问答

    【JAVA基础知识及问答】 在Java编程中,掌握基础至关重要,特别是对于初学者。以下是关于Java基础知识的详细解释: 1. **异常处理机制**:Java的异常处理机制是通过`try-catch-finally`块实现的。当程序违反了Java...

    java基础知识30个经典问答

    这篇博客"java基础知识30个经典问答"通过问答形式,详细解答了Java学习中常见的问题,帮助初学者巩固基础,同时也适合有经验的开发者温故知新。下面,我们将深入探讨这些问答中的关键知识点。 1. **什么是Java?** ...

    JAVA基础知识及问答.rar

    这个"JAVA基础知识及问答.rar"压缩包文件包含了关于Java语言的基础知识和常见问题解答,对于初学者或希望巩固基础的开发者来说是非常有价值的资源。 1. **Java基本概念** - **面向对象**:Java是一种面向对象的...

    JAVA知识问答器

    总之,【JAVA知识问答器】是一个综合运用了Java核心特性和设计模式的项目,通过它不仅可以学习到Java的基础语法,还可以深入理解面向对象设计、资源管理以及数据持久化等方面的知识。对于初学者来说,这是一个极好的...

    java基础问答 txt

    ### Java基础问答 #### 1. String 的 `length()` 方法 - `length()` 是 `String` 类的一个方法,用于返回字符串的长度(字符数量)。 - 示例:`String s = "Hello"; int len = s.length();` #### 2. String 对象...

    JAVA问答题.docx

    Java是一种广泛应用于软件开发的高级编程语言,以下是Java基础知识面试题的详细解释。 1. 什么是类成员?什么是实例成员? 类成员是被static修饰的成员变量,它们在类加载时被加载。实例成员是没有被static修饰的...

    Java基础知识的三十个问答.pdf

    Java基础知识的三十个问答.pdf

    java基础知识 PPT 和源代码 以及练习

    Java基础知识是每个Java程序员的基石,它包括了语法、类、对象、接口、异常处理、集合框架等多个方面。这份资料"java基础知识 PPT 和源代码 以及练习"提供了全面的学习资源,帮助初学者理解和掌握Java的核心概念。 ...

    JAVA实现知识问答服务器

    1. **Java基础**: 服务器的开发需要对Java语言有深入的理解,包括但不限于变量、数据类型、运算符、控制结构(如if-else、switch-case、for、while等)、类与对象、封装、继承和多态等面向对象编程的基本概念。...

    智能问答java代码

    在IT行业中,智能问答系统是人工智能领域的一个重要分支...开发者需要具备Java编程基础,了解自然语言处理的基本概念,以及如何调用和处理API接口的能力。这是一个典型的IT实践案例,展示了理论知识与实际应用的结合。

    java问答式教程

    本教程旨在帮助初学者快速掌握Java基础知识,并为有经验的开发者提供解决问题的参考。 1. **Java简介** - 什么是Java?它是由Sun Microsystems(现为Oracle公司)开发的一种高级编程语言,设计目标是“一次编写,...

    JAVA基础问答大全

    ### JAVA基础问答大全 在Java面试过程中,经常会遇到一些看似简单但实际上非常考验基本功的问题。以下是对题目中提及的关键知识点的详细解释。 #### final、finally、finalize - **final**: 在Java中,`final`...

    java问答式教程 很好的

    在"Java问答式教程"中,每个问题都可能对应以上的一个或多个知识点,通过问答的形式,不仅可以解决具体问题,还能帮助学习者建立全面的理论体系和实践经验。"readme.txt"可能是教程的简介或使用指南,而"_Java 问答...

Global site tag (gtag.js) - Google Analytics