2021-07-15

本文介绍了Java中方法重写的概念,包括重写规则和注意事项,并对比了重写与重载的区别。同时,探讨了多态性的实现条件和意义。此外,还讲解了数据库的基本操作,如创建、删除数据库,数据类型的定义,以及SQL语句的使用,包括SELECT、INSERT、UPDATE、DELETE等。
摘要由CSDN通过智能技术生成

每日总结

Java

方法重写

alt+insert-》overread

1.要有继承关系,子类重写父类方法 方法必须一致(方法体不同)

2.方法名必须相同

3.参数列表必须相同

4.修饰符:范围可以扩大,但不能缩小;

(public->Protected->Default->private)

5.抛出的异常:范围只可以扩大,不可以缩小

ClassNotFoundException -》Exception(大)

WHY

1.父类的功能,子类不一定需要,或者不一定满足

重写与重载之间的区别

区别点重载方法重写方法
参数列表必须修改一定不能修改
返回类型可以修改一定不能修改
异常可以修改可以减少或删除,一定不能抛出新的或者更广的异常
访问可以修改一定不能做更严格的限制(可以降低限制)

多态

注意

多态是方法的多态,属性没有多态性

父类和子类,有联系,否则类型转换异常(ClassCastException

存在条件:

有继承关系,

方法需要重写,

父类引用 指向子类对象 Parent p = new Child();

没有重写就没有多态

不能重写的方法

static,方法属于类,不属于实例

final 常量池里面

private 是私有的,私有的方法不能重写

//对象的实际类型是确定的
        //new A();
        //new B();
		
        //
        A s=new A();//子类
        B s1=new A();//父类引用指向子类

        s.run();
        s1.run();//子类重写了父类的方法,执行子类
        //子类调用的方法是自己的或父类
        //父类可以引用子类的,不能调用父类的方法

instanceof

System.out.println(x instanceof y)

输出true / false

可以判断是否存在父子关系

类型之间的转换

低到高 自动转换

高到低 强制转换

父 》 子

高 》 低

Person stu = new Student();

Student stu=(Student)stu;

stu 就是可以使用Student 的方法了

子》父

可能会丢失一些方法

SQL

基字符集:utf8

数据库排序规则:utf8_general_ci

连接数据库:

  进入 mysql -uroot -p
  查看 show databases
  切换数据库 mysql>use school
   Database changed
   
   查看所有表 show tables;
   显示所有信息 describle 数据库名;
   
   创建数据库 create database 数据库名

操作数据库

操作数据库>操作数据库中表>操作数据库中表的数据

表名或字段名则需加上``

mysql 不区分大小写

创建数据库

create database [if not exists] westos;

删除数据库

drop database [if  exists] westos;

列数据类型

数值:

  • tinyint 十分小 1b
  • smallint 较小 2b
  • int 标准 4
  • bigint 较大 8
  • float
  • double 8(精度问题)
  • decimal

字符串

  • char 大小0-255
  • varchar 可变字符串 常用 String
  • **text 文本串 2^16-1 ** 保存大文本

时间日期

java.util.Data

  • data yyy-mm-dd 日期格式
  • time hh:mm:ss 时间格式
  • datatime yyyy-mm-dd hh :mm:ss 最常用
  • timestamp 时间戳 ,1970.1.1 到现在的毫秒数

null

  • 没有值,位置
  • 不要用NULL,结果为NULL

数据库字段属性

unsigned:

无符号整数
声明了 该列不能声明为负数

zerofill

0填充
不足位数,使用0填充,

自增

自动在上一条记录的基础上+1默认
通常用来设计唯一主键~index,必须是整数类型
可以设计主键自增的起始值和步长

非空

NULL不填写值 默认值是null

默认

设置默认值
sex默认值为男,不指定该列的值则会有默认的值

每个表必须存在一下5个字段

id 主键

’version‘ 乐观锁

is_delete 伪删除

gmt _ create 创建时间

gmt_upate 修改时间

创建数据库

格式

create table [if not exists]`表名``字段名` 列类型 [属性][索引][注释],--`id` INT(4) NOT NULL AUTO_INTEREMENT CONMENT `学号`
	`字段名` 列类型 [属性][索引][注释],
	...
	`字段名` 列类型 [属性][索引][注释][表类型][字符集设置][注释]--ENGING=INNODB DEFAULT CHAREST=utf8

使用命令行

use `2`; 命令用于选择数据库。                --尽量加上`` 末尾都要加分号
set names utf8; 命令用于设置使用的字符集。
SELECT * FROM student; 读取数据表的信息。
mysql> use `2`;
Database changed
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)

Sql命令(大小写不敏感

  • SELECT - 从数据库中提取数据
  • UPDATE - 更新数据库中的数据
  • DELETE - 从数据库中删除数据
  • INSERT INTO - 向数据库中插入新数据
  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

SELECT DISTINCT

返回某列唯一不同的值

SELECT DISTINCT 列名 FROM 表名;

WHERE子句

WHERE 子句用于提取那些满足指定条件的记录。

文本字段

SELECT * FROM student WHERE gender='男';

数值字段

SELECT * FROM student WHERE id=2;

空值判断:is null

Select * from student where 某列 is null;

中值 :查询表中某列在数之间

Select * from student where 某列 between 数 and 数;

IN:查询表某列等于数

Select * from student where 列 in (数1,数2,数3);

like查询表中某列含有a的值

Select * from student wherelike 'a%'
  • % 表示多个字值,_ 下划线表示一个字符;

  • M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。

  • %M% : 表示查询包含M的所有内容。

  • %M_ : 表示查询以M在倒数第二位的所有内容。

    插入新记录

    INSERT INTO

形式:INSERT INTO student ( id,number,name,gender,createData )
VALUES (5,2020401450,'陈画','女','2021-08-05 14:42:28');
mysql> INSERT INTO student ( id,number,name,gender,createData )
VALUES (5,2020401450,'陈画','女','2021-08-05 14:42:28');
Query OK, 1 row affected (0.01 sec)

特定列

mysql> INSERT INTO student (name, gender, createData)
VALUES ('傻逼', '女', '2021-07-24 14:44:06');
Query OK, 1 row affected (0.00 sec)

UPDATE

更新表中已存在的记录

mysql> UPDATE student 
SET gender='女'
WHERE name='胡三';-->当等于某个值
//如果忽略where会将表中所有值改为所设置的
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

delete

删除表中某行

mysql> DELETE FROM student
WHERE name='胡三' AND gender='女';
Query OK, 1 row affected (0.01 sec)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值