发表于: 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用起来还是蛮舒服的,没有白费这么长时间去破解改地址


返回列表 返回列表
评论

    分享到