摘要:
为什么要用接口 java是单继承语言,如果子类中会用到来自不同父类的抽象方法,使用继承无法满足 这种情况下需要采用接口的方式来实现一个多继承,一个接口代表一种能力或标准,继承多个接口就具有了多个能力 接口的特点和优势 接口是集成体系之外的,用于功能扩展 接口的成员默认都是public,不需要写访问修
阅读全文
posted @ 2020-08-25 00:40
龙陌
阅读(931)
推荐(0)
摘要:
包装类 》所有的引用数据类型都是继承了Object,Object是所有类的基类 String s = “Hello” if(s instanceof Object) //成立 》但是基本数据类型不具备面向对象的特性 》java为8种基本数据类型提供了包装类 包装类的概念主要作用是可以让基本数据类型作
阅读全文
posted @ 2020-08-25 00:34
龙陌
阅读(144)
推荐(0)
摘要:
instanceof运算符 》该运算符用于判断一个对象是否属于某一个类或接口,判断结果为false或者true 》在进行多态的使用时,需要对对象进行强制类型转换,才能调用到子类本身创建的方法 》使用运算符可以避免类型转换异常,从而加强代码的健壮性 if(pet2 instanceof Dog){ D
阅读全文
posted @ 2020-08-25 00:33
龙陌
阅读(677)
推荐(0)
摘要:
重载overload和重写override的区别 位置 方法名 参数列表 返回值 访问修饰符 方法重载 同一个类 相同 必须不同 无关 无关 方法重写 子类中重写父类方法 相同 必须相同 必须相同 不能比父类更严格 重载overload和重写override的区别 位置 方法名 参数列表 返回值 访
阅读全文
posted @ 2020-08-25 00:31
龙陌
阅读(104)
推荐(0)
摘要:
多态的定义 》生活中的多态,同一件事由于条件的不同,导致的结果不同 》程序中的多态,同一个引用类型,调用同一个方法,但因为真正创建的实例不同,导致执行结果不一样 》实现多态的关键 》继承父类 》重写抽象方法 》声明父类对象,创建子类对象 》多态其实就是多种形态,多种形式: 》两个最直接的体现 方法重
阅读全文
posted @ 2020-08-25 00:29
龙陌
阅读(125)
推荐(0)
摘要:
方法重写 override 当子类中有和父类方法重名时 当父类的方法无法满足子类的要求时,我们需要在子类中修改从父类继承过来的方法,这种方式叫做方法重写 重写的要求 必须具有相同的方法名 必须有相同的参数列表 必须有相同的返回值类型 子类中方法的访问权限不能比父类中更严格 重写的优点 保证代码的一致
阅读全文
posted @ 2020-08-25 00:25
龙陌
阅读(104)
推荐(0)
摘要:
继承中构造方法的执行 创建对象一定会调用构造方法 创建子类对象时先去调用父类的构造方法 子类默认先调用父类的无参构造方法 可以通过super()的形式指定调用父类的构造方法 super()必须放在子类构造方法第一句上 子类只能调用到父类存在的构造方法 super()被默认添加 注意要给父类添加无参构
阅读全文
posted @ 2020-08-25 00:23
龙陌
阅读(97)
推荐(0)
摘要:
理解继承 子类可以继承到的父类成员 有三种情况,子类无法继承 01.父类中访问修饰符为private,也就是父类的私有成员(可以继承但是不可以用) 02.父类的构造方法 03.子类和父类不在同一个包下,则父类中默认访问权限的成员,子类不可以继承 访问修饰符总结 访问修饰符 本类 同包 不同包子类 其
阅读全文
posted @ 2020-08-25 00:21
龙陌
阅读(80)
推荐(0)
摘要:
为什么使用继承 有些类有很多的重复属性和方法,需要重复编写代码,如果后期需要在创建其他的宠物类时,也需要将这些代码再次重复 提高代码的复用率,提高开发效率,我们一般需要把重复的代码提出来,形成父类 继承的最大的特点 一个子类只能有一个父类,java是单继承的语言 一个父类下可以有多个子类 父类和子类
阅读全文
posted @ 2020-08-25 00:19
龙陌
阅读(325)
推荐(0)
摘要:
抽象类和抽象方法 》抽象类 我们针对类创建对象时,每个对象都会对应到现实生活中的一个实体上, Pet类入如果创建对象的话,在现实生活中无法找到实体与之一一对应 在java中我们一般会将这样类定义为抽象类,限制其进行对象的创建 抽象类的目的主要是用于被继承 虽然抽象类无法构造对象,但是具有构造方法 抽
阅读全文
posted @ 2020-08-25 00:05
龙陌
阅读(304)
推荐(0)
摘要:
初始化块 什么是初始化块 》初始化块是java类中出现的第四类成员(成员变量、成员方法、构造方法) 》其功能与构造方法非常类似,可以对java进行初始化操作 //定义初始化块 { System.out.println("Person类的第一个初始化块:所有person对象都有自己的名字"); } {
阅读全文
posted @ 2020-08-24 23:58
龙陌
阅读(601)
推荐(0)
摘要:
封装 为什么使用封装 我们在类中定义的成员变量可以直接通过对象名.成员变量名的形式访问 对于不合理的值无法做出限制,或者是限制比较麻烦 对于这种设计缺陷我们使用封装解决 封装定义 面向对象的三大特征:封装、继承、多态 隐藏属性或者方法的实现细节,不允许外部程序的直接访问,而是通过该类提供的方法来实现
阅读全文
posted @ 2020-08-24 23:48
龙陌
阅读(192)
推荐(0)
摘要:
this 用法一: public Dog(String name, int health, String type) { this.name = name; this.health = health; this.type = type; } 用在构造方法中或其他给属性赋值的方法中,用于区分成员变量和
阅读全文
posted @ 2020-08-24 23:45
龙陌
阅读(253)
推荐(0)
摘要:
fanal代表最终的,可以修饰类、方法修饰变量 修饰类,代表类不可被继承 修饰方法,代表方法不可被重写 修饰变量,代表变量不可以被修改值,只能初始化一次 修饰基本数据类型,值不可改变 final int num = 10; num =20;//报错 修饰引用数据类型,堆中的内容可以修改,但是栈中的地
阅读全文
posted @ 2020-08-24 23:43
龙陌
阅读(95)
推荐(0)
摘要:
static 静态的 public class Student { String name; double java; double sql; //以下成员不属于任何一个对象,而是属于整个类,随着类的加载而加载 static double avg_java; static double avg_sq
阅读全文
posted @ 2020-08-24 23:42
龙陌
阅读(500)
推荐(0)
摘要:
方法的重载 overload 概念:在同一个类中有多个同名方法 一个类中有多个构造方法,就是构造方法的重载 特点: 1.同一个类中方法名相同 2.参数列表不同,指参数个数或参数类型不同,和参数名称无关 3.和返回值无关,和访问修饰符无关 如果参数列表相同仅返回值不同是不允许的,有悖重载的定义; 如果
阅读全文
posted @ 2020-08-24 23:39
龙陌
阅读(159)
推荐(0)
摘要:
构造方法 是否可以在创建对象的同时直接给属性赋值 利用构造方法实现该功能 构造方法的主要作用 01.构造对象 02.给对象的属性赋初值 示例 //构造方法 public Dog(String dname,int dhealth,String dtype){ name =dname; health =
阅读全文
posted @ 2020-08-24 23:34
龙陌
阅读(223)
推荐(0)
摘要:
类和对象 如何描述一件事物 自我介绍 任何意见事务都可以通过属性和行为来定义 所有的对象都可以通过属性和行为来定义,也就是通过属性和方法定义 类的概念 类是具有相同属性和行为(方法)的一组对象的集合 在程序中的体现 针对某一个事物创建类,在类中指定事物的关键信息 定义属性和方法 针对类去创建对象,对
阅读全文
posted @ 2020-08-24 23:25
龙陌
阅读(116)
推荐(0)
摘要:
关联查询 自然连接:natural join 两张表的关键字段完全一致 内连接: inner join on select * from t1 inner join t2 on t1.字段 = t2.字段 左连接 left join on 全连接 full outer join 等值连接 selec
阅读全文
posted @ 2020-08-24 23:15
龙陌
阅读(143)
推荐(0)
摘要:
函数 转换函数 to_date('','') to_char(sysdate,'yyyy') 聚合函数 max() min() sum() avg() count() 分组 select 分组字段,聚合函数 from 表名 group by 字段 注意:聚合函数 过滤不满足条件的分组 having
阅读全文
posted @ 2020-08-24 23:14
龙陌
阅读(130)
推荐(0)
摘要:
三大范式 数据库设计遵守的三大原则 第一范式:列不可再分,保证每一列的原子性 第二范式:保证每一列的数据都与主键(联合主键)相关,而不是主键的一部分 所有的列都应该是实体对象的固有属性 第三范式:确保每列都与主键直接相关,而不是间接相关
阅读全文
posted @ 2020-08-24 22:58
龙陌
阅读(205)
推荐(0)
摘要:
主外键 主键:每条记录的唯一标识,可以是多个字段 外键:某张表的某个字段取值来自于另一张表的主键 主外键主要数据的完整性和合理性 删除时需要先删除外键所在表的 数据,比如先删除员工再删除部门
阅读全文
posted @ 2020-08-24 22:56
龙陌
阅读(180)
推荐(0)
摘要:
需求分析-分析客户的业务和数据处理请求 概要设计-ER图,以及项目的整体框架 数据库设计:需要什么表,表中需要什么字段 01.分析需求中的名词,针对名词创建表,java中针对这些名词创建类 实体表中的一条记录对应实体类中的一个对象 02. 分析实体的属性,我们需要存储什么样的信息,对应着Java类的
阅读全文
posted @ 2020-08-24 22:54
龙陌
阅读(379)
推荐(0)
摘要:
数据库事务 事务是数据库中最小的执行单元,通常包含一条或者多条sql语句 事务中包含的sql语句,要不全部执行成功提交,如果其中一条执行失败,那么全部都要回滚 事务的应用场景 金钱交易:转账
阅读全文
posted @ 2020-08-24 22:49
龙陌
阅读(166)
推荐(0)
摘要:
索引 数据库中的索引,index,类似于目录,可以帮助我们提高查询效率 当数据非常多,查询效率比较慢时,可以创建索引提高效率 索引一般添加在某一列上,尤其是常用于查询的字段 索引的创建 --添加索引 create index in_ename on emp(ename); 主键是默认的索引
阅读全文
posted @ 2020-08-24 22:46
龙陌
阅读(126)
推荐(0)
摘要:
视图 视图view实际上就是一张表或者多张表的预定义查询 把一个 非常复杂的查询动作化保存为一个视图对象,下次直接对视图进行查询,不需要在写之前复杂的sql语句了 视图本身不存储数据,数据来源于基表 删除视图时不影响基表中的数据 创建视图必须要有dba权限 --创建视图,只有dba才有创建视图权限g
阅读全文
posted @ 2020-08-24 22:37
龙陌
阅读(130)
推荐(0)
摘要:
数据库对象 数据库对象是数据库的组成成分,一般使用create创建、使用alter修改、使用drop删除 常用对象:用户、表、序列
阅读全文
posted @ 2020-08-24 22:35
龙陌
阅读(220)
推荐(0)
摘要:
--使用了聚合函数后,不要再查询其他字段 select ename from emp where sal = (select max(sal) from emp); select ename from emp where sal > (select avg(sal) from emp); --分组操
阅读全文
posted @ 2020-08-24 22:33
龙陌
阅读(568)
推荐(0)
摘要:
--日期函数 --加上指定月数,返回新的日期 select hiredate, add_months(hiredate, 3) from emp; --返回指定日期所在月的最后一天 select last_day(hiredate) from emp; --返回两个日期之间相隔的月数 select
阅读全文
posted @ 2020-08-24 22:29
龙陌
阅读(190)
推荐(0)
摘要:
先按照发工资排序,工资相同的按照入职日期排序 select ename,job,sal,hiredate from emp order by sal desc,hiredate desc; 查询10部门和20部门下员工信息 select * from emp where deptno =10 or
阅读全文
posted @ 2020-08-24 22:27
龙陌
阅读(141)
推荐(0)
摘要:
所有的约束都会被存入系统的数据字典中,当用户操作该表中的数据时,会自动检查这些约束 --oracle 5大约束 --not null、主键、check、unique、外键 非空约束 主键约束 条件约束 唯一约束 外键约束
阅读全文
posted @ 2020-08-24 21:53
龙陌
阅读(138)
推荐(0)
摘要:
数据类型 1、varchar2(length):字符串,最多可以存储4000个字符,Oracle提供。必须加小括号限制长度 varchar(length):字符串,是sql提供的 2、char(length):字符串,最大存储2000个字符 char(8),存储内容是‘Hello’ 但是真正被存储到
阅读全文
posted @ 2020-08-24 21:26
龙陌
阅读(152)
推荐(0)
摘要:
sql语言 结构化查询语言:专门用于数据的存储、数据的更新及数据库管理等操作 目前流行的数据库都支持sql语言 分类: 数据定义语言(DDL):create、drop、alter 数据操作语言(DML):insert、delete、update 数据查询语言(DQL):select、order by
阅读全文
posted @ 2020-08-24 21:19
龙陌
阅读(146)
推荐(0)
摘要:
数据库的分类: 不同数据库是按照不同数据结构来联系和组织的,依次数据库可以分为三类: 关系型数据库: 网状型数据库: 层次型数据库: oracle\mysql等都是以二维表的形式存储数据,属于关系型数据库
阅读全文
posted @ 2020-08-24 19:22
龙陌
阅读(707)
推荐(0)
摘要:
Java类中的方法 public 返回值类型 方法名 (参数列表){ //方法体 } 》方法三要素 》返回值类型 》方法名 》参数列表:指的是()必须要有 》返回值 》方法的运行结果是展示还是去其他地方继续使用,进行后续操作的话,那么要给方法设置返回值 》返回值可以是任意类型,8种基本数据类型,引用
阅读全文
posted @ 2020-08-24 17:58
龙陌
阅读(1013)
推荐(0)
摘要:
Java内存分配 程序运行时,内存可以分成四块 一块用来装代码,就是编译后的内容 一块用来装静态的内容static 一块是栈,stack,用来装变量的,就是我们声明的各种类型的变量,也就是赋值号左边的内容 一块是堆,heap,装的是new出来的内容 基本数据类型:变量和值存储在栈中 引用数据类型:变
阅读全文
posted @ 2020-08-24 17:54
龙陌
阅读(193)
推荐(0)
摘要:
成员变量和局部变量 直接定义在类中的属性,我们称之为成员变量 在成员方法或者main中定义的变量称之为局部变量 只在定义它的大括号中生效 成员变量都有初始值 局部变量没有初始值,必须要手动赋值后,才能正常使用 当成员变量和局部变量同名时,局部变量的优先级更高 在不同的方法中,可以有重名的局部变量
阅读全文
posted @ 2020-08-24 17:44
龙陌
阅读(197)
推荐(0)
摘要:
数组的使用注意 1、数组的下标是length-1,如果超过最大下标,将会出现数组下标越界异常 2、数组只能存放同类型的数据 3、数组的长度一旦定义,无法更改 4、数组的初始值 数组是引用数据类型,创建好后,每个元素都有初始值 byte,short,int,long:初值为0 float,double
阅读全文
posted @ 2020-08-24 17:05
龙陌
阅读(428)
推荐(0)
摘要:
布尔类型的使用 》可以用来存储比较表达式结果 int zhangScore; Scanner input = new Scanner(System.in); System.out.println("请输入张三的成绩:"); zhangScore = input.nextInt(); //判断张三是否
阅读全文
posted @ 2020-08-24 16:51
龙陌
阅读(169)
推荐(0)
摘要:
引用数据类型 String 数组 使用class定义的对象 对象也是变量,变量的类型就是它的类 接口
阅读全文
posted @ 2020-08-24 16:49
龙陌
阅读(167)
推荐(0)