1. 程式人生 > >哪年學習 java 的筆記

哪年學習 java 的筆記

變數、方法、類、包

類包括類宣告和類體,類體又包括成員變數和方法。成員變數也叫域變數,成員變數分兩種:

類變數(靜態變數)和例項變數。

1、
(1)在類中宣告的變數是成員變數;在類中用static修飾的變數是類變數,否則是例項變數。類變數是共享的,都可以使用。成員變數在整個類中均有效。

(2)在類中方法內宣告的變數是區域性變數,區域性變數在該方法內並且在宣告變數以下有效。在引數內宣告的在該方法內均有效。

2、構造方法的特點:宣告物件時要用到該類的構造方法,一個物件中可以有多個構造方法。但構造方法的引數的型別或個數不同。構造方法的名字必須與類名相同,而且沒有型別。

3、方法分為類方法和例項方法,加static修飾的方法是類方法,類方法是共享的、公用的,類方法中不能使用例項變數。

4、包:區分名字相同的不同類,如果源程式省略了package語句,原始檔中所定義命名的類隱含在一個無名的包中,在一個包中的類用引用另一個包中類要用import匯入。

訪問許可權:訪問許可權有4中,從許可權大到小有public 、protected、友好的、private;

1)Public是共有的,用它修飾的變數與方法可以在不同的包中使用。

2)protected受保護的,用它修飾的變數與方法可以在同一包中的不同類中使用(1、父子關係的類除外,子類繼承父類的方法和變數可以在不同的包中繼承;2、但在另一個類用子類宣告的物件去訪問用protected修飾的變數不能訪問(如果在同一個包中可以使用))。

子類與父類

1) 子類可以繼承父類的除構造方法外的所有變數和方法,但訪問主類的變數和方法的時候受訪問許可權的限制。

2) Instanceof是雙目運算子,左邊操作元是物件,右邊是類。當左面的操作元是右面的類或子類所建立的物件時,instanceof運算的結果是true,否則是false。

Super

Super代表父類的物件

物件的上轉對型象

1、當子類建立一個物件,並把這個物件的引用放到父類物件中,稱父類物件是子類物件的上轉型物件。

2、上轉型物件不能訪問子類新增的方法或變數,但可以訪問子類重寫的例項方法(靜態方法重寫後不能呼叫,呼叫的是父類的靜態方法)。

3、不能將父類建立的物件賦值給子類建立的物件。

4、將上轉型物件重新賦值給子類物件,子類物件具備子類的所有屬性和功能。

abstract類和abstract方法

1、抽象方法只可以只允許宣告不可以實現,而且不可以同時用final和abstract同時修飾一個方法。

2、abstract類可以有抽象方法,也可以有非抽象方法。

3、abstract類不能不能用new運算子建立物件。

4、abstract類是abstract類的子類,它可以重寫父類的abstract方法,同樣也可以繼承abstract方法。

5、如果以一個抽象類的子類是普通類,則子類必須重寫父類的所有抽象方法

面向抽象過程

1、 不讓類面向具體的類,而是面向抽象的類。

介面與多型

1、介面的宣告用interface宣告;

介面體內所有方法和常量的型別的都是用public修飾的,允許省略public 和final

2、介面體內只有抽象方法、和常量(沒有變數)

interface USB{

public static final int MAX=100;//常量 等價於 int MAX=100; 

public abstract void f1(){ //抽象方法 等價於void f1();

}

}

3、實現介面

1)用implement宣告自己實現的一個或多個介面

2)用類實現介面,那麼在這個類中要重寫介面的所有方法(abstract修飾的抽象類除外),

abstract類可以不重寫介面中的方法

3)在類中可以宣告一個介面但不能實現及不能建立物件

4)若父類實現了某個介面,那麼子類也實現該介面

Class Computer implements USB{

public void f1(){//注意不能降低許可權

System.out.println(“我實現了介面USB中的f1()介面”);

}

}

4、介面的回撥    

class MainComputer{

  public static void main(String agrs[]){

USB u1=new Computer();//上轉型別

u1.f1();

}

}

5、介面與abstract的比較

1)abstract類和介面都可以有abstract方法。

2)介面中只可以有常量,不能有變數;而abstract類中既可以有常量也可以有變數。

3)absstract類中可以非abstract方法,介面不可以。

資料定義語言 :DDL

Create alter drop

資料操縱語言:DML

Insert delete update select

事物控制語言:TCL

Commit savepoint rollback

資料控制語言:DCL

Grant revoke

select… from 

group by

where

having by

order by

1、 單行子查詢

where

e.g. 查詢工資低於平均工資的所有教師。

select name ,wage from teachers

where wage<

(select avg(wage) from teachers);//注意不要缺少了select

e.g.查詢年齡小於王天儀的所有學生。

Select * from students

Where dob<(select dob from students where name=”王天儀”);

having

e.g.查詢部門平均工資高於最低部門平均工資的部門和平均工資

select department_id,avg(wags) from teachers

group by department_id having avg(wags)>(select min(avg(wags)) from teachers

group by department_id

);

form

e.g.在students表中的男同學中,查詢計算機專業的學生。

Select * from students (select * from students where sex=’男’) where despcialty=’計算機’;

select * from students where sex=’男’and despcialty=’計算機’;

2.多行子查詢

查詢後返回多行單列。

要使用到的多行比較符有:

In any all

e.g.在students表中檢索姓王同學的學號與姓名

select student_id ,name from students

where name like ‘王%’;

select students_id,name from students

where students_id in(

      select student_id from students

where like ‘王%’);

any

e.g. 查詢工資低於任何一個部門平均工資的教師資訊。

Select * from teachers

where wags

group by department_id);

select * from teachers

where wags<(any(select avg(wags) from teachers

group by departments_id);

all

e.g.查詢工資高於各部門平均工資的教師資訊

select * from teachers

where wags>(select max(avg(wags)) from teachers

group by department_id);

select * from teachers

where wags>all (select avg(wags) from teachers

group by department_id);

多列查詢

多列單行和多列多行

e.g.查詢與王天儀同學同生日同專業的同學

select * from students

where(sex, specialty)= (select dob,specialty from students where name=’王天儀’);

e.g.查詢各自部門的工資最低的教師

select * from teachers where (department_id ,wags) in

select department_id min(wags) from group by department_id;

insert into 表名 values ()

update set

delete from

truncate table  

資料庫完整性

1、 實體完整性

2、 參照完整性

3、 自定義完整性 chack

DCL.DDL

1、 系統許可權

Create session //連線許可權

Create table //建立表的許可權

Create any table

Drop table //刪除表的許可權

Create user //建立使用者

Drop user //刪除使用者

2、 物件許可權

資料庫中的表示一個物件

Select //檢視

Update//更新、更改

Insert //插入

Delete//刪除

3、 使用者

Create user 使用者名稱

Identified by 密碼

1) 建立一個使用者:wang密碼是office

Create user, drop user

許可權控制

1、 系統控制

1) 授予使用者系統許可權

Grant 系統許可權 to 使用者名稱 給使用者授權

Revoke 系統許可權 from 使用者名稱 撤銷使用者的權利

e.g.建立一個使用者名稱叫xiaoli密碼為gold,並給他授予系統許可權

create user xiaoli identified by gold

connect xiaoli gold ;

connect system/jiaoxue;

grant create session,select table to xiaoli;

建表

約束:

1、 主鍵 primary   

Constraint 約束名 primary key

2、非空 not null

在表中的寫法 :not null

3、自定義 check

在表中的寫法 constraint 約束名 check()

4、 唯一 unique

在表中的寫法。 Constraint 約束名unique

5、 外來鍵 foreign  key

在表中的寫法 constraint 約束名 foreign key

檢視(view)

建立檢視 create view 檢視名 ;