zoukankan      html  css  js  c++  java
  • java 面试中的基础题

    1、静态方法是否可以具有多态

      当多个静态方法具有同样的方法名不同的参数是可以被多态的。

    View Code
    public class code1static {
    static int add(int a,int b){
    System.out.println("int");
    return a+b;
    }
    static double add(double a,double b){
    System.out.println("double");
    return a+b;
    }
    public static void main(String[] args) {
    System.out.println("a+b:float"+add(1.2,2.2));
    System.out.println("a+b:int"+add(1, 2));
    }
    }

    2、String是否是基本类型,是否可以被继承  

      String不是原本类型,并且final定义所以不能被继承

    3、final,finzlize,finally,分别有哪些作用

    final(受保护)可以作用于data、methods、classes中,当定义成final时就不能被更改,当作用于类时表示不能被继承

      finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
      finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
    4、支持同步的队列和哈希
    concurrent和HashMap
    5、将字符串转换成数字
      
    StringToInt
    public class code1static {
        public static void main(String[] args) {
            String s="15125";
            int sum=0,t=0;
            for(int i=0;i<s.length();i++){
                t=s.codePointAt(i)-48;
                sum=sum*10+t;
            }
            System.out.println(sum);
        }
    }

     6、对一组数组进行排序

    数组排序
    public class Sort {
        public static void main(String[] args) {
            int a[] = { 2, 1, 5, 3, 9, 8,10,20,0,100 };
            int x;
            int i, j, flag;
            for (i = 0; i < a.length-1; i++) {
                flag = 1;
                for (j = 0; j <= a.length-2 - i; j++) {
                    if (a[j] > a[j + 1]) {
                        x = a[j];
                        a[j] = a[j + 1];
                        a[j + 1] = x;
                        flag = 0;
                    }
                }
                if (flag == 1)
                    break;
            }
            for(i=0;i<a.length;i++)    {
                System.out.print(a[i]+"   ");
            }
            System.out.println();
        }
    }
    选择排序
    public static void main(String[] args) {
            int a[] = { 2, 1, 5, 3, 9, 8, 10, 20, 0, 100 };
            int x;
            int i, j, k;
            for (i = 0; i < a.length; i++) {
                k = i;
                for (j = i + 1; j <= a.length - 1; j++) {
                    if (a[j] < a[k])
                        k = j;
                }
                if (k != i) {
                    x = a[i];
                    a[i] = a[k];
                    a[k] = x;
                }
            }
            for (i = 0; i < a.length; i++) {
                System.out.print(a[i] + "  ");
            }
            System.out.println();
        }
     
  • 相关阅读:
    【SpringCloud构建微服务系列】分布式链路跟踪Spring Cloud Sleuth
    【算法】LRU算法
    细说分布式锁
    【Python】Python3.4+Matplotlib详细安装教程
    LoRaWAN协议(二)--LoRaWAN MAC数据包格式
    LoRaWAN移植笔记(一)__RTC闹钟链表的实现
    cJSON_json包的C语言解析库
    LoRaWAN协议(一)--架构解析
    STM32L051 PVD的调试
    以帧为存储单位的循环stack
  • 原文地址:https://www.cnblogs.com/tianyake/p/2562221.html
Copyright © 2011-2022 走看看