发表于: 2018-03-07 23:42:07
2 737
今天完成的事情:
一、 因为task17中涉及了interface的概念,所以今天先把接口的内容看了一遍。
1.接口
a.接口就是一个标准,一个协议,一个规范。一个功能的封装。
b.接口定义语法:
[修饰符] interface 接口名称{
//抽象方法
//静态方法
//default方法
//final static 常量
}
c.类实现接口语法:
class 类名 implements 接口名称{
//类实现了接口,需要重写接口中的所有方法
}
d.使用接口原因:Java中的类只支持单继承。多继承的一个方法就是使用接口,另外一个方法就是成员内部类;接口可以起到规范,标准的作用。
e.接口中的方法默认使用public abstract修饰,故无方法体。
f.任意一个类实现接口,重写接口的所有抽象功能后,就具有了接口的功能。
g.一个类可以在继承一个类的同时继承一个接口,先继承类再继承接口。
h.一般一个接口只封装一个功能,但是也可以封装多个功能,只是需要重写所有方法。
i.因为接口是java的一种引用数据类型,所以其可以定义变量,但是却不能实例化对象。定义的引用指向实现类的对象,通过接口引用调用方法,从而实现接口多态。
j.接口不仅可以继承还可以实现多继承,在继承其他接口功能后还可以添加自己特有的功能。
2.抽象类和接口比较
a.相同点:
①.都可以有抽象方法。
②.都不能实例化对象。
③.都可以含有静态成员。
b.不同点:
①.含义不同:抽象类用于表示其他类的父类;接口是一个功能的封装,一个标准。
②.定义方法不同:抽象类使用abstract class;接口使用interface.
③.内容不同:抽象类可以有抽象方法,还可以有包含普通类中所有成员;接口可以包含静态常量,抽象方法,静态方法,default方法。
④.使用方法不同:抽象类是在现有基础上进一步抽象出的类,用作父类;接口是功能的封装,需要通过类实现接口。
⑤.应用场景不同:如果仅仅是功能的扩展,选择接口;如果除了功能之外还有其他数据,或是为了表示类之间的层次关系,或是为了约束子类的方法,则使用抽象类。
二、任务相关知识学习
因为学习得过程有些一知半解,所以回过头来将一些基本概念整理一下
1.代码:程序员利用开发工具编写出来的为了实现某个具体操作的源文件,以某种通用的规则记载着信息。
2.项目:为了某个明确目的而形成的代码的规律集合。
3.项目管理工具:为了使项目能在可控范围内按计划进行而对项目进行管理的工具,其目的是为了让多个项目管理起来更简单方便。
4.IDEA:集成了包括编译器,调试器,项目管理工具等各种辅助编写代码处理项目的工具的编辑器。可以使程序员编写管理更便捷有效。
5.Maven:通过标准化,清晰化,简单化的方式来共享管理jar的一个项目管理工具。jar的作用是通过别人已经明确定义的项目方式来描述自己的项目,主要是为了节约程序员构建基层源码的时间。
6.maven的作用:主要是用仓库体系管理jar包。若某项目构建依赖的jar包在本地仓库,就可自动调用出来,若是本地仓库没有,就可以通过一个共享的中央仓库在网上寻找。即它可以帮你自动寻找下载需要的jar包,连同此jar包依赖的jar包一起下载下来。同时它也有将自己的项目打包成jar包等其他相关功能。
7.maven的项目主要结构
src/main/java:项目的源代码所在目录
src/main/resouces:项目的资源文件所在目
src/main/filters:项目的资源过滤文件所在目录
src/main/webapp:web应用源代码所在目录,比如html文件和xml文件
src/test/java:测试代码所在目录
src/test/resouces:测试相关的资源文件所在目录
src/test/filters:测试相关的资源过滤文件所在目录
src/it:集成测试代码所在目录,主要是供别的插件使用的
src/assembly:组件描述符所在的目录
src/site:站点文件
target:用于存放项目构建的输出文件,比如class文件以及打包后的包文件等
pom.xml:项目对象描述文件,包含项目对象的属性和方法配置。
8.settings.xml文件:使用maven时和仓库相关的配置涉及此文件。主要包括配置本地仓库默认地址,配置maven中央仓库位置,包括修改下载地址。
9.pom.xml文件构成:①pom.xml对象②坐标属性,描述文件在仓库中的具体位置③项目依赖列表属性④构建过程中使用插件的属性⑤项目聚合属⑥父子项目属性
可以使用pom.xml文件导入jar包,在mavenrepository.com里直接找到需要的包,copy参数到pom.xml里面的指定位置
三、任务相关
先按照教程写了一个通过jdbc连接数据库的半成品
public class JdbcTest {
public static void main(String[]args) throws SQLException {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection c= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","1024");
System.out.println("连接成功,获取连接对象:"+c);
}catch (ClassNotFoundException e){
e.printStackTrace();
}
}
}
大概看了下jdbc连接数据库的操作流程,和Jdbc中常用的类和接口
明天计划的事情:
继续学习jdbc连接数据库的方法,然后搞清楚jdbctemplate的概念及作用还有写法。
遇到的问题:
因为之前在maven上的理解不到位,所以以为idea中创建的maven项目需要自己手动导入包,还去问师兄为啥没有lib文件夹,被师兄骂了一顿才发现自己犯了多蠢的错误,所以按照师兄要求梳理总结了一下maven方面的知识,虽然还不是很到位,但是起码对为啥没有lib包这种问题可以自己得到答案了,其实是可以在操作界面左侧的External Libraries里看到,比如我手动下载并导入了mysql5.0.8,以及师兄帮我使用pom.xml文件导入的mysql5.1.31
然后关于类的导入,当时自己写的时候,死活不对,getCollection下面一直报错,其实是导入包和方法不对,需要学会看看报错信息,利用快捷键处理提示。
收获:
对maven的理解更深一层(其实主要是以前是一知半解状态)
对jdbc有一个大概的概念,还需要加深理解
评论