发表于: 2018-03-05 23:18:19
1 644
今天完成的事情: 按照师兄建议,任务基础穿插进行,因为eclipse写代码老是不知道哪里错了,决定下一个idea来写demo
一,任务部分
步骤13
要求:下载Maven3,并配置好环境变量。
关键词:Maven,环境变量
过程:先了解Maven的作用与特性,再按照指导下载配置
结论:Maven是专门用于构建和管理Java相关项目的工具,使用其管理的Java项目都有着相同项目结构,并且可以实现统一维护Jar包。安装配置结果如下
配置其仓库默认位置:仓库默认位置为Default: ${user.home}/.m2/repository ,对应本地就为C:\Users\thinkpad\.m2\repository
将其修改到E盘
再将其默认下载路径下增加一个阿里云镜像路径
步骤14
要求:下载Eclipse或者是IDEA,配置好Maven。IDEA不用配置Maven,Eclipse也分自带或者外部,推荐使用外部Maven。
关键词:Eclipse,IDEA
过程:因为之前已经安装过Eclipse了,然而使用中经常遇到问题,所以这次听从师兄建议转战IDEA,在网上看评论可以发现大部分人都是对IDEA认可度更高的,归结起来是用起来更方便。但是由于IDEA是一款收费软件,所以如何破解又是一个问题。按照步骤在官网下载安装好后,开始按照网上提示开始破解,在尝试了两种方法后,最后使用破解包Jar文件的方式破解成功。
步骤15
要求:创建一个新的maven项目
过程:虽然破解完了,但是面对上面这个界面还是一脸懵逼,感觉不如Eclipse简单,万事开头难,继续百度如何创建maven
步骤16
要求:在src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下是否成功看到有Jar包。
关键字:clean,install,本地m2,Jar包
过程:clean:是指将目标文件的class文件删除然后重新编译,可以防止一些莫名其妙的错误;install:是将用户打包好的jar包安装到本地仓库中,一般没有设置过的话默认在用户目录下的m2文件夹下
步骤17
要求:编写DAO,分别JdbcTemplate和Mybatis连接数据库,注意使用JDBCTemplate的时候分离Interface和Imple,使用Mybatis的时候注意理解为什么不需要Impl,注意遵守命名规范。
关键字:DAO,Jdbc Template,Mybatus,Interface,Imple
过程:一堆专业名词,又要开始补基础知识了。
二,基础知识学习
1.先写一个调用Person类中方法的demo:
public class Person {
String name="zhangsan";
int age=18;
public Person(String name,int age) {
this.name =name;
this.age=age;
}
public void showInfo(){
System.out.println("姓名是:"+name);
System.out.println("年龄是:"+age);
}
}
public class demo {
public static void main(String[]args){
Person p1=new Person("zhangsan",20);
p1.showInfo();
}
}
创建子类Student,结果出现如下错误
排查发现,是因为父类中只有一个有参构造而没有默认的无参构造,所以无法创建子类,其实在前面知识总结时总结过,但是一到自己码就忘记了。
public class Student extends Person {
int stdID;
public void showInfo(){
super.showInfo();
System.out.println("学号是"+stdID);
}
}
public class demo {
public static void main(String[]args){
Person p1=new Person("zhangsan",20);
p1.showInfo();
Student s2=new Student();
s2.name="lisi";
s2.age=15;
s2.stdID=20180305;
s2.showInfo();
}
}
输出结果
从这个demo,总结出子类继承父类时需要注意的几点
1.当父类中有显示的有参构造而没有无参构造时,子类不能正确继承父类,需要父类中至少有一个显式或是隐式的无参构造。
2.当重写父类的方法时,可以先用super()方法调用父类的方法,再在下面添加子类特有的数据。
3.父类中虽然有有参构造,但是子类中只有一个无参构造,所以new一个新对象时不能按照父类的构造去直接赋值,而是要单独赋值,因为子类并不继承父类的构造方法。除非子类中也添加有参构造,此时依然可以引用父类的构造方法,添加如下
public Student(String name,int age,int stdID){
super(name,age);
this.stdID=stdID;
Student s2=new Student("lisi",15,2018306);
// s2.name="lisi";
//s2.age=15;
s2.stdID=20180307;
此时可直接在new后面直接赋值学生信息,之后也可以继续修改
2.方法重写
a.重写规则:①子类方法的签名(方法名和方法参数列表)必须和父类方法签名一致。
②如果方法的返回值类型不是引用类型,子类方法的返回值类型要和父类方法返回值类型一致;如果均是引用类型,则子类方法的返回值类型可以是父类返回值类 型的子类。
③子类方法的访问你权限可以比父类访问方法的访问权限更宽泛,却不能更狭窄。
④如果父类有异常抛出,子类重写的方法可以抛出父类异常或父类异常的子异常
b.在重写方法上方加上@override可以判断重写是否正确。
明天计划的事情:
明天准备把Maven方面的知识过一遍,然后继续看基础知识,多写几个demo,有时间再去看Task17的相关知识点,demo多写才能发现问题出在哪。
遇到的问题:
1.idea的破解,试了很多方法都失败,按照破解包破解的操作每次到最后一步填入激活代码就会出现key is invalid的提示
最后群内师兄给了一个最新的2.7破解包,终于成功了
2.在16步时先进性clean操作,然后进行install操作就会出来错误提示
但是按照网上方法解决不了,在运行程序后要是不clean,直接install就不会出现此问题,也不知道什么原因。
最后还是在师兄的帮助下解决了问题,将一堆代码copy进setting中
问题解决
师兄还顺便帮我把Idea里面创建maven的默认设置给改了一下,包括创建文件目录位置,设置文件位置,本地仓库,具体设置如图
收获:
1.刚开始用maven和idea还有很多地方不明白的,通过师兄的指点,总算把默认位置这些最基本的设置好了,接下来就是基础知识的学习和熟悉操作软件了,至少要知道想要修改的操作在哪去设置,为啥要这样修改
2.idea用起来还是蛮舒服的,没有白费这么长时间去破解改地址
评论