1. 程式人生 > 其它 >JAVA發展

JAVA發展

Java發展

他們基於Java開發了巨多的平臺,系統,工具
  • 構建工具:Ant,Maven,Jekins

  • 應用伺服器:Tomcat,Jetty,Jboss,Websphere,weblogic

  • Web開發:Struts,Spring,Hibernate,myBatis

  • 開發工具:Eclipse,Netbean,intellij idea,Jbuilder

  • ...

2006:Hadoop(大資料領域)
2008:Android(手機端)

Java三大版本

JDK、JRE、JVM

解除安裝JDK

  1. 刪除Java的安裝目錄
  2. 刪除JAVA_HOME
  3. 刪除path下關於Java的目錄
  4. java-version

安裝JDK

  1. 百度搜索JDK8,找到下載地址

  2. 同意協議

  3. 下載電腦對應版本

  4. 雙擊安裝JDK

  5. 記住安裝路徑

  6. 配置環境變數

    1. 我的電腦-->右鍵-->屬性
    2. 環境變數-->JAVA_HOME
    3. 配置path變數

    7.測試JDK是否安裝成功(cmd java -version)

Java的資料型別

float定義時數字後面帶F,long定義時數字後面帶L

float有限 離散 舍入誤差 大約 接近但 不等於

最好完全避免使用浮點數進行比較

涉及錢的用BigDecimal 數學工具類

變數作用域

類變數

例項變數

區域性變數

常量

字串連結位置不同,結果不同

增強for迴圈

遞迴

不夠優秀的方法

面向物件

面向物件

類和物件的建立(類的關鍵字class)

構造器

構造器:

  1. 和類名相同
  2. 沒有返回值

作用:

  1. new 本質在呼叫構造方法

  2. 初始化物件的值

注意點:

定義有參構造之後,如果想使用無參構造,顯示的定義一個無參構造

Alt+Insert

this.= 當前類的=引數傳進來的值

建立物件和記憶體分析

簡單小結類與物件

封裝

  1. 提高程式的安全性,保護資料
  2. 隱藏程式碼的實現細節
  3. 統一介面
  4. 系統可維護增加了
  5. Alt+Insert

繼承

super

方法的重寫

多型

物件執行那個方法,主要看物件左邊得型別,和右邊關係不大,例如下面得Person 建立得S2如果子類重寫了父類得方法,則執行子類得方法,否則執行父類得方法,如果父類沒有得方法,子類有,則報錯

static關鍵字

屬性

方法

final的方法不可在被繼承,斷子絕孫

抽象類(關鍵字abstract class)(不是重點)

除非子類也是抽象方法

抽象類可以存在構造器

存在的意義 抽象出來~ 提高開發效率,比如遊戲角色,公有的抽象出來,公有的可以寫出來,子類去繼承,特性的重新定義

介面(關鍵字Interface)

java中類 extends:單繼承~ (介面可以多繼承)

定義兩個介面

package com.opp.demo;
//抽象的思維~ Java 架構師
//interface 定義的關鍵字,介面都需要實現類
public interface UserService{
    //常量 public static final
    int AGE=99;(一般不用)    
    //介面中的所有定義的方法其實都是抽象的  public abstract
    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);
}
package com.opp.demo;
public interface TimeService{
    void timer();
}
package com.opp.demo;
//抽象類:extends~
//類 可以實現介面  implements 介面
//實現了介面的類,就需要重寫介面中的方法~
//多繼承~ 利用介面實現多繼承~
public class UserServiceImpl implements UserService,TimeService {
    @Override
    public void add(String name) {
        
    }

    @Override
    public void delete(String name) {

    }

    @Override
    public void update(String name) {

    }

    @Override
    public void query(String name) {

    }
    @Override
    public void timer() {

    }

}

作用:

  1. 約束
  2. 定義一些方法,讓不同的人實現~
  3. public static final
  4. public abstract
  5. 介面不能被例項化,介面中沒有構造方法
  6. implements可以實現多個介面
  7. 必須要重寫介面中的方法~

內部類

內部類與外部類

寫兩個類

類還可以寫道方法裡:區域性內部類

匿名類

捕獲和丟擲異常

自動生成ctrl+alt+t

自定義異常(用的比較少)