JavaSE preguntas básicas

2020Java preguntas de la entrevista y respuestas (entendimiento personal, por referencia)

1. Las características y las características de los tres orientados a objetos

  • Paquete: un paquete es para ocultar las propiedades de los objetos y detalles de implementación, sólo se atribuye públicamente interfaz de programa de control en el leer y modificar el nivel de acceso, los datos abstractos obtenidos y actúa (o función) se combinan para formar un todo orgánico, es decir, los datos de origen y los datos operativos combinados orgánicamente para formar una "clase", los datos y funciones que son miembros de la clase.
  • Herencia: La herencia es una de las características básicas de herencia orientada a objetos es hereda la clase padre subclase características y el comportamiento, para que el objeto subclase (instancia) campos y métodos de instancia que tiene una clase padre, hereda el método o la subclase de la clase padre, tal subclases tienen el mismo comportamiento de la clase padre.
  • Polimorfismo: polimorfismo que tiene una pluralidad de capacidad o forma de diferentes formas de la misma conducta. Lograr el polimorfismo tiene tres condiciones necesarias: la reescritura, la herencia, las referencias a las subclases de la clase padre. El polimorfismo es simplemente diferentes subclases responden de manera diferente a un mismo objeto.

2. JRE y JDK ¿Cuál es la diferencia

  • JDK: Java Development Kit para abreviar, ofrece un entorno de desarrollo Java y entorno de ejecución.
  • JRE: entorno de desarrollo de Java, para abreviar, proporciona un entorno para ejecutar Java, hay archivos de Java que se pueden ejecutar

3. ¿Cuál es la diferencia == y equals

  • == tipo de datos básico es el valor de comparación para el tipo de referencia de comparación es una referencia
  • es igual comparación es una referencia a la igualdad
		//String重写了equals方法
	    String a =new String("a");
		String b =new String("a");
		String c="c";
		String d="c";
		String e="a";
		System.out.println(a==b);//false
		System.out.println(a.equals(b)); //true
		System.out.println(c==d);//true
		System.out.println(c.equals(d)); //true
		System.out.println(a==e); //false
		System.out.println(a.equals(e)); //true

4. cadena no es un tipo de datos primitivo?

  • Cadena no es un tipo de datos primitivos, cadena es inferior java.lang (recuerde cadena es final, no podemos heredar, sino que proporciona una serie de métodos estáticos).
  • tipos de datos básicos: byte, char, short, int, Folat, doble, larga, booleano

¿Cuál es el papel 5. final en Java

  • clase modificada final no puede ser heredada
  • método modificado final no puede ser anulado
  • la variable modificada último llamado valor constante después de constantes de inicialización no puede ser cambiado

Entero diferencia 6.int y el
Java proporciona tipos de datos básicos y los tipos de referencia, int perteneciente al valor predeterminado tipos de datos básicos 0
Número entero que pertenece a un tipo de referencia, el valor predeterminado es nulo
Int ningún método, proporcionando muchas maneras Entero

7.String cadena = "i" y la cadena str = new String ( "i") de la misma?

  • No es lo mismo, la asignación de memoria no es lo mismo. str String = "i" en la distribución de la piscina constante, cadena str = new String ( "i") asignado memoria de pila.

Diferencia 8.String y StringBuffer, StringBuilder de

  • Cuerda: declaraciones de cadena son objetos inmutables, cada operación genera un nuevo objeto String, entonces el puntero al nuevo objeto String y StringBuffer, StringBuilder puede funcionar sobre la base del objeto original, por lo que el cambio en la cadena normal en el caso de contenidos que es mejor no utilizar cuerdas.
  • StringBuffer y StringBuilder mayor diferencia es que, StringBuffer es seguro para subprocesos, pero StringBuilder no es seguro para subprocesos, pero el rendimiento es más alto que StringBuffer StringBuilder, por lo que en se recomienda entorno de un único subproceso de usar StringBuilder, StringBuffer se recomienda utilizar un entorno multiproceso.

9. digamos ciclo de vida del servlet
después de servlet instancia por el servidor, ejecute el método init del contenedor, solicitud al servicio de proceso de servicio
método para automáticamente invoca el doPost método doGet apropiado o los objetos que destruyen cuando el servidor decide cuándo destruir método se llama en la forma solicitada

10.List, el conjunto diferencia, Mapa de

comparar Lista Conjunto Mapa
Interfaz heredada Colección Conllection
clase de implementación común AbstractList (sub-categoría común son: ArrayList, LinkedList, Vector) AbstractSet (HashSet subclase común, TreeSet, LinkedHashSet) Mapa (subclases comunes: Hashmap, tabla hash)
elemento repetible irrepetible irrepetible
secuencia ordenado desordenado
Seguridad para subprocesos Vector tabla de picadillo

11.Collection y Colecciones de la diferencia.

  • Colección es un conjunto de interfaces de clase superior con la lista de Conjunto de
  • Colecciones ayuda contra un conjunto de clases de clases, que ofrece una serie de métodos estáticos para lograr una variedad de colección de búsqueda, clasificación, y así las operaciones compatibles con el proceso.

hashCode 12. dos objetos () son las mismas, es igual a () también debe ser cierto

  • HashCode dos objetos idénticos no necesariamente es igual a verdadera;
		String aa="柳柴";
		String bb="柴柕";
		System.out.println(String.format("aa:%d | bb:%d",  aa.hashCode(),bb.hashCode()));
		System.out.println(aa.equals(bb));

Salida: AA: 851 553 | bb: 851 553
falsa
Esto muestra el mismo código hash iguales no es la misma que la verdadera;

13. cómo calcular el más rápido de 2 por 8

  • 2 << 3

14. java en Math.round (-2,5) igual a la cantidad?

  • Igual a -2, porque el número de eje de valores, el valor intermedio (0.5) de redondeo a la derecha, así que 0,5 es positivo redondeo negativo 0.5 se descarta directamente.

clase 15.String método común tienen esos?

  • indexOf (): Devuelve el índice del carácter especificado.
  • charAt (): Devuelve el carácter en el índice especificado.
  • replace (): cadena de reemplazo.
  • trim (): la eliminación termina una cadena en blanco.
  • split (): Separar una cadena, devuelve una matriz de cadenas después de la división.
  • getBytes (): Devuelve una matriz de bytes tipo de cadena.
  • longitud (): devuelve la longitud de la cadena.
  • toLowerCase (): se convierten en cadena en minúsculas.
  • toUpperCase (): convertir una cadena de caracteres en mayúsculas.
  • substring (): String tomada.
  • equals (): cadena de comparación.

16. clases ordinarias y clases abstractas Cuáles son las diferencias? ?

  • Las clases comunes no pueden contener métodos abstractos, clase abstracta puede contener método convencional
  • clase abstracta clase general puede ser directamente una instancia no se pueden crear instancias directamente

17. hablar de clases abstractas pueden utilizar la final de la modificó?

  • Una clase abstracta no puede ser modificación final, debido a que la clase abstracta debe ser heredada, mientras que la clase modificada final no puede ser heredada.
                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
                                            <div class="more-toolbox">
            <div class="left-toolbox">
                <ul class="toolbox-list">
                    
                    <li class="tool-item tool-active is-like  tool-clicked"><a href="javascript:;"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#csdnc-thumbsup"></use>
                    </svg><span class="name">点赞</span>
                    <span class="count">1</span>
                    </a></li>
                    <li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-Collection-G"></use>
                    </svg><span class="name">收藏</span></a></li>
                    <li class="tool-item tool-active is-share"><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;1582594662_002&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-fenxiang"></use>
                    </svg>分享</a></li>
                    <!--打赏开始-->
                                            <!--打赏结束-->
                                            <li class="tool-item tool-more">
                        <a>
                        <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
                        </a>
                        <ul class="more-box">
                            <li class="item"><a class="article-report">文章举报</a></li>
                        </ul>
                    </li>
                                        </ul>
            </div>
                        </div>
        <div class="person-messagebox">
            <div class="left-message"><a href="https://blog.csdn.net/xiaoyanghnl">
                <img src="https://profile.csdnimg.cn/E/9/C/3_xiaoyanghnl" class="avatar_pic" username="xiaoyanghnl">
                                        <img src="https://g.csdnimg.cn/static/user-reg-year/2x/1.png" class="user-years">
                                </a></div>
            <div class="middle-message">
                                    <div class="title"><span class="tit"><a href="https://blog.csdn.net/xiaoyanghnl" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">Mr.JiaWan</a></span>
                                        </div>
                <div class="text"><span>发布了3 篇原创文章</span> · <span>获赞 1</span> · <span>访问量 240</span></div>
            </div>
                            <div class="right-message">
                                        <a href="https://im.csdn.net/im/main.html?userName=xiaoyanghnl" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
                    </a>
                                                        <a class="btn btn-sm  bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">关注</a>
                                </div>
                        </div>
                </div>
发布了1 篇原创文章 · 获赞 0 · 访问量 10

2020Java面试题及答案(个人理解,仅供参考)

1. 面向对象的三大特征及特点

  • 封装:封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
  • 继承:继承是面向对象的基本特征之一,继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
  • 多态:多态同一个行为具有多个不同表现形式或形态的能力。实现多态有三个必要条件:重写,继承,父类引用指向子类。多态简单来说就是不同子类对同一个对象做出不同的响应。

2. JRE与JDK有什么区别

  • JDK:简称Java开发工具包,提供了Java开发的环境和运行环境。
  • JRE:简称Java开发环境,提供了Java运行的环境,有这个就能运行Java文件

3. == 和equals有什么区别

  • ==对基本数据类型是值的比较,对引用类型比较的是引用
  • equals比较的是引用是否相等
		//String重写了equals方法
	    String a =new String("a");
		String b =new String("a");
		String c="c";
		String d="c";
		String e="a";
		System.out.println(a==b);//false
		System.out.println(a.equals(b)); //true
		System.out.println(c==d);//true
		System.out.println(c.equals(d)); //true
		System.out.println(a==e); //false
		System.out.println(a.equals(e)); //true

Supongo que te gusta

Origin blog.csdn.net/qq_45452081/article/details/104917733
Recomendado
Clasificación