奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現(xiàn)在所在的位置:首頁 >學(xué)員就業(yè) > 就業(yè)寶典 > Java基礎(chǔ)面試題,你能做對多少?

Java基礎(chǔ)面試題,你能做對多少?

來源:奇酷教育 發(fā)表于:

基礎(chǔ)1 switch支持的類型:byte, short, int, char, enum,注意:不支持long,double,JDK7之后,開始支持String。 簡單示例 public c

基礎(chǔ)

  • 1 switch支持的類型:byte, short, int, char, enum,

    注意:不支持long,double,JDK7之后,開始支持String。

//簡單示例
  public class MyDemo {      
         public static void main(String... args) {
          Demo demo = Demo.A;          
            switch (demo) {              
                       case A:                  
                    break;              
                       case B:                  
                    break;
          }
      }      
          enum Demo {
          A,
          B,
          C
      }
  }

餓漢式

  • 2 if和switch的區(qū)別:

    if :1.對具體的值進(jìn)行判斷  2.對區(qū)間判斷  3.對運(yùn)算結(jié)果是boolean類型的表達(dá)式進(jìn)行判斷

    switch :1.對具體的值進(jìn)行判斷;2.值的個(gè)數(shù)通常是固定的。

    對于幾個(gè)固定值的判斷,建議使用switch語句,因?yàn)閟witch語句會(huì)將具體的答案加載進(jìn)內(nèi)存,相對高效一點(diǎn)。

  • 重載和重寫的區(qū)別

    • 重載:允許存在一個(gè)以上的同名函數(shù),只要它們的參數(shù)類型不同即可。

    • 重寫:當(dāng)子類繼承父類,沿襲了父類的功能到子類中,子類雖具備該功能,但功能內(nèi)容不一致,這是使用覆蓋特性,保留父類的功能定義,并重寫功能內(nèi)容。

  • 單例模式

private static Single s = new Single ( ) ;          
        private Single ( ) { }  
          public static Single getInstance () 
          {          
           return s ;
          }

      懶漢式

 

class Single {      
   public static Single getInstance (){          
        if ( s== null ){              
           synchronized (Single.class){//鎖不讀可以提高效率
              if ( s== null ){
                  s = new Single () ;
               }
           }          
           return s ;
      }
  }

特殊關(guān)鍵字:final

 

1. 可以修飾類、函數(shù)、變量;  
2. 被final修飾的類不可以被繼承。為了避免被繼承,被子類復(fù)寫。final class Demo { }  
3. 被final修飾的方法不可以被復(fù)寫。final void show () { }  
4. 被final 修飾的變量是一個(gè)常量,只能賦值一次。  
5. 內(nèi)部類定義在類中的局部位置上時(shí),只能訪問該局部被final修飾的局部變量。

      異常:(關(guān)于問題1,謝謝ylt提醒)

 

 try{}catch(){}finally{}  
 1.catchreturn(),finally{}會(huì)不會(huì)執(zhí)行?
  答:會(huì),會(huì)在return之后執(zhí)行。  
 2.finally()在什么情況下不會(huì)執(zhí)行
  答:只有一種情況不會(huì)執(zhí)行,當(dāng)執(zhí)行到System.exit(0)時(shí),finally不會(huì)執(zhí)行。

 

public class Test {  public static void main(String[] args) {
      System.out.println("haha:" + haha(true));
  }  
private static boolean haha(boolean isTrue) {      
    try {          
         int i = 1 / 0;          
         return  isTrue ? System.out.printf("return try !null ", "test") != null : System.out.printf("return try null ", "test") == null;
      } catch (Exception e) {
          System.out.println("catch");          
          return  isTrue ? System.out.printf("return catch !null ", "test") != null : System.out.printf("return catch null ", "test") == null;
      } finally {            
          System.out.println("");
          System.out.println("finally");
      }        
  }
}
//打印結(jié)果:
catch
return catch !null 
finally
haha:true

Java靜態(tài)代碼塊、構(gòu)造函數(shù)、構(gòu)造代碼塊

  • 先看下面一段代碼,運(yùn)行Test,會(huì)打印什么?

     

package test;  
public class Test {      
   public static void main(String... args) {
          TestA a;
          a = new TestA();
          a = new TestA();
          TestA aa = new TestA();
      }
  }  
  class TestA {
      {
          System.out.println("TestA code create");
      }      
          private TestB b = new TestB();      
          private static TestC c = new TestC();      
          
          public TestA() {
              System.out.println("TestA create");
      }      
          
          static {
             System.out.println("TestA static create");
      }
  }  
  class TestB {      
     public TestB() {
          System.out.println("TestB create");
      }
  }  
  class TestC {      
     public TestC() {
          System.out.println("TestC create");
      }
  }

打印結(jié)果:

 

TestC create
TestA static create
TestA code create
TestB create
TestA create
TestA code create
TestB create
TestA create
TestA code create
TestB create
TestA create

static特點(diǎn):

 

  1.    隨著類的加載而加載(隨著類的消失而消失,生命周期最長)  
  2.    優(yōu)先于對象存在  
  3.    被所有對象所共享  
  4.    可以直接被類所調(diào)用  
  5.    static是一個(gè)修飾符,用于修飾成員

構(gòu)造代碼塊

 

作用:給對象進(jìn)行初始化,對象一建立就運(yùn)行,而且優(yōu)先于構(gòu)造函數(shù)執(zhí)行。

  和構(gòu)造函數(shù)的區(qū)別:
  構(gòu)造代碼塊是給所有對象進(jìn)行統(tǒng)一初始化;而構(gòu)造函數(shù)是給對應(yīng)的對象初始化
  構(gòu)造代碼塊中定義的是不同對象共性的初始化內(nèi)容

靜態(tài)代碼塊

 

 static
  {
      靜態(tài)代碼塊中的執(zhí)行語句;
  }
  特點(diǎn):隨著類的加載而執(zhí)行,只執(zhí)行一次(再new一個(gè)對象也不會(huì)執(zhí)行,類只加載一次),
  如果定義在有主函數(shù)的類中,則優(yōu)先于主函數(shù)執(zhí)行。用于給類進(jìn)行初始化。
  有些類不用創(chuàng)建對象,無法用構(gòu)造函數(shù)初始化,就通過靜態(tài)代碼塊初始化。

  執(zhí)行順序:靜態(tài)代碼塊先執(zhí)行,如果有對象,構(gòu)造代碼塊先執(zhí)行,然后是構(gòu)造函數(shù)。
  如果沒有對象,則構(gòu)造代碼塊和構(gòu)造函數(shù)都不會(huì)執(zhí)行。

Java-封裝、繼承、多態(tài)

抽象類的特點(diǎn):

 

 1.    抽象方法一定在抽象類中。  
 2.    抽象方法和抽象類都必須被abstract關(guān)鍵字修飾。  
 3.    抽象類不可以用new創(chuàng)建對象,因?yàn)檎{(diào)用抽象方法沒有意義。  
 4.    抽象類中的抽象方法要被使用,必須由子類復(fù)寫所有的抽象方法后,建立子類對象調(diào)用。如果子類只覆蓋了部分抽象方法,那么該子類還是一個(gè)抽象類。強(qiáng)迫子類復(fù)寫,強(qiáng)迫子類做一些事。  
 5.    抽象類中可以不定義抽象方法,如果不定義抽象方法,那么抽象類的功能就是為了不讓該類建立對象。

抽象關(guān)鍵字不可以和哪些關(guān)鍵字共存?

 

 答(1private不能:抽象方法就是給子類覆蓋的,私有了就不能覆蓋了。
   (2static不能:static可以直接用類名調(diào)用,而調(diào)用抽象方法沒有意義。
   (3final 不能:final修飾的方法不可以被復(fù)寫,修飾的類不可以被繼承。與abstract沖突。

接口的特點(diǎn)

 

       接口是對外暴露的規(guī)則。
  ●    接口是程序的功能擴(kuò)展。
  ●    接口可以多實(shí)現(xiàn)。
  ●    類與接口直接是實(shí)現(xiàn)關(guān)系,而且類可以繼承一個(gè)類的同時(shí)實(shí)現(xiàn)多個(gè)接口。
  ●    接口與接口之間可以有繼承關(guān)系,可以多繼承。
       因?yàn)榻涌跊]有方法體,不會(huì)存在兩個(gè)父類出現(xiàn)同一個(gè)方法但是方法體不同的情況,
       不會(huì)引起沖突,如下:  
       
  public class Test implements d{     
      public static void main(String... args) {
      }      
      
      @Override
      public void as() {
      }
  }  
      
      interface d extends e,f {
  }  
      interface f{      
      void as();
  }  
      interface e{      
      void as();
  }

接口和抽象類的異同點(diǎn):

 

 相同點(diǎn):都是不斷向上抽取而來的。不可以被實(shí)例化

 不同點(diǎn):1.    抽象類需要被繼承,而且只能單繼承;接口需要被實(shí)現(xiàn),而且可以多實(shí)現(xiàn)  
        2.    抽象類中可以定義抽象方法和非抽象方法,子類繼承后,可以直接使用非抽象方法;
        接口只能定義抽象方法,必須有子類實(shí)現(xiàn)。  
        3.    抽象類的繼承,是is a關(guān)系,在定義該體系的基本共性內(nèi)容;
              接口的實(shí)現(xiàn)是like a 關(guān)系,在定義體系額外功能。

繼承

 

  子類的實(shí)例化過程:
  結(jié)論:子類的所有的構(gòu)造函數(shù),默認(rèn)都會(huì)訪問父類中空參數(shù)構(gòu)造函數(shù),因?yàn)樽宇愔忻恳粋€(gè)構(gòu)造函數(shù)內(nèi)的第一行都有一句隱式的super() ;
  當(dāng)父類中沒有空參數(shù)的構(gòu)造函數(shù)時(shí),子類必須手動(dòng)通過super或者this語句形式來指定要訪問的構(gòu)造函數(shù)。
  當(dāng)然:子類的構(gòu)造函數(shù)第一行也可以手動(dòng)指定this語句來訪問本類中的構(gòu)造函數(shù),
  子類中至少會(huì)有一個(gè)構(gòu)造函數(shù)會(huì)訪問到父類中的構(gòu)造函數(shù)。

對象的初始化過程,見下圖:

打印結(jié)果

主站蜘蛛池模板: 超声波清洗机_细胞破碎仪_实验室超声仪器_恒温水浴-广东洁盟深那仪器 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | 大白菜官网,大白菜winpe,大白菜U盘装系统, u盘启动盘制作工具 | 湖南教师资格网-湖南教师资格证考试网 | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | 煤矿人员精确定位系统_矿用无线通信系统_煤矿广播系统 | 山东钢衬塑罐_管道_反应釜厂家-淄博富邦滚塑防腐设备科技有限公司 | 济南网站建设|济南建网站|济南网站建设公司【济南腾飞网络】【荐】 | 超声骨密度仪-骨密度检测仪-经颅多普勒-tcd仪_南京科进实业有限公司 | 武汉画册印刷厂家-企业画册印刷-画册设计印刷制作-宣传画册印刷公司 - 武汉泽雅印刷厂 | 广州印刷厂_广州彩印厂-广州艺彩印务有限公司 | 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 合肥风管加工厂-安徽螺旋/不锈钢风管-通风管道加工厂家-安徽风之范 | 济南宣传册设计-画册设计_济南莫都品牌设计公司 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 排烟防火阀-消防排烟风机-正压送风口-厂家-价格-哪家好-德州鑫港旺通风设备有限公司 | 青州开防盗门锁-配汽车芯片钥匙-保险箱钥匙-吉祥修锁店 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 退火炉,燃气退火炉,燃气热处理炉生产厂家-丹阳市丰泰工业炉有限公司 | 工控机-工业平板电脑-研华工控机-研越无风扇嵌入式box工控机 | 3A别墅漆/3A环保漆_广东美涂士建材股份有限公司【官网】 | 密集柜_档案密集柜_智能密集架_密集柜厂家_密集架价格-智英伟业 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 北京燃气公司 用户服务中心| 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 温州中研白癜风专科_温州治疗白癜风_温州治疗白癜风医院哪家好_温州哪里治疗白癜风 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 直读光谱仪,光谱分析仪,手持式光谱仪,碳硫分析仪,创想仪器官网 | 北京软件开发_软件开发公司_北京软件公司-北京宜天信达软件开发公司 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 软文世界-软文推广-软文营销-新闻稿发布-一站式软文自助发稿平台 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 金属清洗剂,防锈油,切削液,磨削液-青岛朗力防锈材料有限公司 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 |