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