哪年学习 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 视图名 ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值