Java初学问题?

这个该怎么理解呢?按照我个人的想法:在这个程序中,通过new创建的HashSet类的对象,它只能存放Dog类型的对象,但是能调用add方法增加Cat类的对象cat。我感觉说不通。

其实,这也算一个历史遗留问题,java最开始设计的时候没有支持泛型,是在后来的版本里加上的,为了兼容以前的代码,在运行的时候,这些泛型信息就被丢掉了。你贴出的代码实际上是很危险的,试想如果你执行下面的代码


就会报一个。所以你应该这么写


[转]JAVA的泛型只是一个语法糖,实际上在运行时还是有类型转换的过程,从JVM生成的代码来看,和传递一个Object(或者extends的类型)没什么区别。当然泛型的最大好处是编绎期的类型错误检查。

明白JAVA泛型的大致实现原理之后,看很多泛型代码都比较清晰了:)

和C++的泛型比较,C++的泛型是在编绎期实现的,为每一个类型都生成一份代码,所以C++的泛型容易让编绎后的代码出现膨胀。

免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

自学Java需要多久可以学会?如果有一定的Java编程基础自学Java相对来说会轻松一些,如果转行,零基础自学Java并不是很轻松的事情,尤其是零基础自学Java需要制定合理地Java学习路线图,按照步骤进行学习避免跳跃式学习挫伤自信心及学的不扎实接下来小编先和大家分享一下自学Java入门步骤:

随着Java开发市场应用范围不断扩大,企业对Java开发技术人才需求量增大,尤其是有一定开发经验的Java开发人才。零基础学习Java开发比较靠谱的选择就是参加Java培训,这也是零基础快速入门的学习方式。

学习Java,哪个Java培训机构比较好?目前市面上的Java培训机构非常多,在选择Java培训机构之前,其实需要确定自己是否适合学习Java技术开发,可能自己并不适合Java如果还以就业为目的那就不建议学习Java技术开发,如果确定自己很喜欢Java接下来就需要考虑如何选择Java培训机构。

参加Java培训为什么选择达内?其实我们参加Java培训最为担心的是什么呢?其实就是花了两万块钱最后什么都没有学会,也没有成功就业,最终不仅仅付出了今天还有时间,对于我们来说其实损失挺大的,所以我们在参加Java培训的时候一定要选择靠谱的Java培训机构!

Java培训的价格是多少?Java培训并不陌生,我们在选择Java培训的时候除了会考虑Java培训的价格还会考虑Java培训机构靠不靠谱,其实我们在盲选Java培训机构的时候一定要选择大型Java培训机构,因为这样才靠谱,从大型Java培训机构中通过参加Java培训试听课程了解哪家Java培训机构更适合自己,其实Java培训机构的价格基本上在两万左右,行业价格差不多,当然如果选择线上Java培训可能价格相对来说便宜一些

Java程序员培训机构该怎么去选择?其实关于Java培训的学习小编建议不要盲从,首先判断一下自己是否适合学习Java才是重要的毕竟参加Java培训的费用并不便宜,找到靠谱的Java培训机构去参加试听课程是必不可少的环节。

零基础Java培训课程内容是什么?零基础学习Java技术开发最好选择靠谱的Java培训机构,面对市面上诸多的Java培训机构,当我们眼花缭乱的时候一定要去Java培训班参加免费试听课程,通过Java课程的试听了解Java培训机构的课程大纲,达内Java培训19年总结出企业所需要的Java人才制定Java培训课程大纲,一起来看看达内Java培训班课程内容包括什么?

零基础学习Java,参加Java培训靠谱吗?其实零基础学习Java开发比较快捷的方法就是参加Java培训,前提是找到一家靠谱的Java培训机构至关重要,选择靠谱的Java培训机构可以快速帮我们Java入门。如果有足够的时间和精力并且自制力比较强可以选择自学Java,当然一定要找一套好的Java视频教程跟着老师一节一节的进行学习,下面小编和大家分享一下关于Java培训班靠谱吗?通过Java培训就可以进入大厂吗?

学Java哪个培训机构好?Java这块的话好的机构还是比较多的,但是具体也要看你在哪个地方进行学习了,应为有些比较出名的Java培训机构在一些地方是没有的。学习Java的主要诉求还是想通过Java培训获得不错的就业薪资

学编程,哪种程序员最吃香?无论是刚走出校门的大学生还是面临职场瓶颈的同事有目共睹的就是学习编程,好像将来成为程序员就业薪资都好高呀,是一个不用拼爹的岗位,也正是因为这样所以很多小伙伴纷纷想要加入编程学习的行业,但是编程是一个广泛的名词需要我们确定学习哪种编程?会更好的?下面和大家分享一下:

开篇直奔主题,java 学习个人感觉分为两种途径,第一种是在学校,在培训机构等地方学习,
有人指导;第二种是自学,通过视频,书籍,朋友等完成学习. 本文适合 自学,且基础薄弱或者无基础的人.
先介绍下我的个人简历:
高中毕业,无编程语言基础,英语水平可能不到初中水平吧.自学 6 个多月,目前已工作.java
Web 开发方向的.薪资保密.

当你问这些问题前,首先要给自己一个定位.你学 java 是用来干什么的?

如果你只是想找个这方面的工作,进入这个个行业,那么没有基础,英语水平一般(例如 public

很多人说,学 java 或者说计算机之类的都需要英语基础,因为这些东西都是欧美之类国家过来的,想掌握新的技术之类都要读英语文档等等.等翻译到中文的时候已经是二手的了.这话确实没错.
我要说的是,如果你只是想找个工作(开发岗位),那么 用那些二手的东西已经够了. 不过还是要提醒一点,不需要太多基础,绝不代表你以后也不需要,在你学 java 的过程中,对英
语水平的提升也是非常必要,不需要去专门学英语,最起码能看懂报错信息.

2. 自学 java 有出路吗? 自学 java 要多久呢? 去培训机构好还是自学好?

先说自学有没有出路,我可以告诉你,自学肯定有出路,但是你自学有没有出路,我不知道.
再说自学要多久,我是专门辞职在家自学,有朋友周六日帮忙,用了半年时间开始找工作.学习时间是每天学习 10 个小时,每星期学习 3 天到 4 天(很不努力,能找到工作完全是朋友帮忙). 这个也要靠自己.

最后,去培训机构好还是自学好. 我感觉肯定是去培训结构好,特别是那些一个人自学,没有朋
友提供帮助的人.当然前提是你要选择一个好的,专业的培训机构.但是去培训机构要收钱,所
以才有这么多人自学. Java需要不断的学习才会有更大成长空间发展机会,鉴于很多网友都会自学Java,网上有免费领取自学直播课+编码实现+辅导答疑,零基础即可学,赠大厂面试礼包,学数据大屏项目,掌握真正发布上线项目,掌握从0到上线完整流程。

3. 学 java 出来工资待遇怎么样?自学的能拿多少钱?

工资首先要看你工作的城市,北上广深圳高点,成都大连其次,别的地方少点,可以上智联招聘
上看看. 至于自学的能拿多少钱?这个不是个问题,因为你去找工作应该不会说自己是自学

4.自学应该怎么学?有什么好的自学方法?有什么好的经验传授下?

很多自学者或者说初学者,都会问这类的问题,想让前辈们传授下经验,避免多走弯路,但是 还是感觉不知道如何下手,这里我把我的经验写出来,希望能帮上点忙。

2. 学习中碰到问题,怎么解决?

一般遇到问题分为 3 种.

例如: 不明白 public provite 等修饰符的区别, 不明白 方法返回类型是什么, 不明白 方法

的参数是怎么回事,不明白重载,重写,覆盖的关系等等.
这种问题,解决办法就是 上网搜一下,大致明白是怎么回事,如果还是不明白,不要深究,不要

抓住这个不放,不要感觉这个不弄清楚就没办法继续学习,
别停下你的脚步,继续往前走,遇到这些问题就比葫芦画瓢,出错了就多做实验,多动手,一定要
多动手多总结,就 OK 了.到后来,你可能已经忘了这个问题,

当某天在群里,有人问这样的问题,你欣然解答,然后才发现自己早已掌握这些了.
2) 程序出错,有报错信息.

举个例子.曾经的我,一出错误,就到群里叫,报错信息也不提供,这样的话,除非有人正好很闲,
基本没人回答我的问题,当我把报错信息贴出来,别人发现
报错信息上的错误提示位置已经精确到哪一行,哪一个字符了.而我看都没看就直接求助,就

得出结论,我这样的不适合搞 java.也有人说我,不要有错误就去
问,要自己先分析一下,先尝试一下能不能解决,先网上查下资料. 而我,则吸取这个教训,出问
题,我先看到底是哪错了,不知道的就先去网上搜一下,

当我知道问题出在哪里,但是不知道怎么解决,我就会去群里问,或者继续在网上找答案.
切记:要分析报错信息.最好记下笔记.
3) 程序出错,没有报错信息.

这个问题比较麻烦,因为比较无厘头.当你遇到这样问题的时候,你会发现程序出错有报错信
息时候是多么美好. 这种问题解决办法还是要上网搜索.
但是这个问题麻烦的地方在于,可能你找原因找了 2 天,还没有找到,但是问题不见了.. 也可能

你找了 2 天原因,还没有找到,问题还在,你重装系统了...
如果你去搜索你这个问题,发现没有搜到你想要的内容,这时候你的方向应该发生变化,不要
去寻找原因了,解决问题就行了.

有人奇怪,不找到原因,怎么解决问题. 举例说明:
我建了 2 个项目, 部署在 tomcat 上,突然有一天,一个项目部署上去后,tomcat 加载不了,就是说 启动 tomcat 正常,但是没有加载项目.另一个项目则正常,

我去网上搜了半天也没有结果,tomcat 的配置,项目的路径,等等 扣了半天,没有解决,最后没
我到现在还不知道原因,但是原因已经不重要了.(如果你感觉从这种问题里面,能找到一条阳

阳光大道,你可以深入研究,但是初学者不建议,因为基础不够,基本
会被弄晕而不会发现什么商机或者新技术.)
如果你老是遇到 网上搜不到的无厘头问题, 那就是你的人品有问题了 . 嘿嘿..

这一部分主要来探讨一下学习路线.

网上应该有很多的 java 学习路线图,大体都是一样的.这里我们就以传智播客 java 学习路线图
作为基础来分析一下(没有这个图的童鞋可以去网上下一个).

发,轻量级 javaEE 开发,项目实战.每个部分下面又分了 3 个模块,每个模块下面
又分了很多小的点. 整个图看下来,有点吓人,因为感觉要学的东西太多,这要学到什么时候才

确实很吓人,因为第 1 部分下面的第一个模块我自学了 2 个月还感觉没有掌握.那是何其痛苦
的一段时间,每天都在想着放弃,想着去培训机构,想着自己不适合学这个,

想着自己学了一天还没理解的东西可能别人就是几分钟的事,整天压力巨大,每天睡觉前都为
一天的劳无所获而不安.在这期间我有过自暴自弃,每天醒来就开始打植物大战僵尸,
甚至连连看都能玩一个上午,整天在继续还是放弃中徘徊...(感谢下鸟哥,2 个人相互鼓励都挺

这里我把这个学习路线图给大家分析一下,避免你们也像我一样痛苦,或者减轻你们的痛苦

这个毫无疑问是重点,也是所有自学者开始纠结的地方.特别是像我这种没有编程语言基础的
人.真的是印证了万事开头难.

这期间你可能整天都是在黑乎乎的 dos 窗口中敲 javac java 等命令,你完全不知道现在学的和
以后的做网站,做软件有什么联系.
没关系,别困惑.所有人都是从这里开始的.你跟着做就行了,

我是看视频自学的,所以这里也是看视频,跟着视频走就行了.这时候困惑你的一些问题可能
1)对一些概念不理解,对一些用法搞不懂,一些例子照着书上或者视频上的写但是出错了.

例如:不明白把属性设置成 private 的,然后写个 get 和 set 方法,这样有什么用.不明白封装是什
这些可以参考 写给 java 初学自学者(二) 里面的办法解决.

2)感觉自己进度好慢,一天下来就看玩了一个 2 小时的视频,就看了几页书之类.
这个我不知道你们会不会有,当时我是天天感觉进度好慢,这就需要调整好心态了,告诉自己

这部分我没有看,因为当时确定是要走 javaweb 方向的.如果你也确定.你也可以不看....

这部分我当时了解了下 JAVA IO ,多线程,网络编程和反射注释都没看.

如果是 javaweb 方向,网络编程好像也可以不看, 但是 IO,多线程,反射注释还是有必要看看的.
这在线路图上写的是重点,但是我感觉有个了解就可以.以后用到再钻研钻研.

##第一部分总结. 这部分学习,一定要多动手,把书上的,视频上的例子都敲一遍,不要感觉自

己看会了就不做了,一定要做.切记:代码是敲出来的

对于数据库的学习,很多人刚接触可能会困惑,因为数据库的东西太多了.不知道应该学多少

才好.不知道应该研究多深.
数据库是独立于 java 以外的,只把数据库学好就可以找工作了.这就告诉你,你不必把数据库
学的多精通.那学到什么地步?

当时我学的时候,我也问朋友,数据库要学到什么样才行呢?朋友的回答是:够用.
这个词是个很纠结很抽象的词,什么叫够用?这个是说不清楚的.只能谈下我个人感觉.
够用就是指你在查找资料等情况下,可以对数据库进行一些基本操作.这些操作包括:创建用

户,赋予权限,创建表.表的增删改查.多表查询.
你可以用 java 连接到数据库,对数据库的内容进行增删改查等.具体遇到问题再研究分析.
这部分的 JDBC 编程其实就是个 java 连接数据库的过程.就那几行代码,先记下,再理解就行

JDBC 高级中的连接池,存储过程,触发器有个了解,最起码要知道有这么回事.ORM 思想一定
要理解(如果这里理解不了,也没关系,后面用到框架就理解了).

##第二部分总结. 这部分学习.重点是通过 java 对数据库的增删改查,其中查询后将结果展示
出来是个难点.多动手练习..切记:代码是敲出来的.

#通过上面两部分的学习.你已经可以写一个学生管理系统了. 可能在学习中你绝望颓废过无
数次,没关系,写个项目出来.一切问题迎刃而解.

我当时学完这两部分以后,想做个项目练手,但是我无从下手,真的不知道应该怎么做,做什么
这里给大家说下我当时做的学生管理系统.

数据是存在数据库的,所有增删改查通过 JDBC 连接操作.有个 main 方法,执行后打印出文字,
就是让用户输入 1,2,3,4 等数字,会判断输入的数字然后执行
相应的功能,例如输入 1 可以查看全部学生列表. 输入 2 可以新增学生.

当动手做项目的时候,很多问题就会出现,例如以前你感觉掌握了,但是现在不会用, 或者碰到
个问题不知道怎么实现,等等.
这一系列的问题客服以后.当你运行着自己做的系统的时候,那种感觉真的很爽.终于感觉学

我当时做这个项目是在参考鸟哥做的基础上,用了一个多星期.最后还有很多功能不太完善,

学习时候的那种负面情绪,那种不自信,全都消失了.

切记:代码是敲出来的.做项目是提升自信心的最好办法

##第三部分总结.这部分学习.你会相当的郁闷,因为你可能学完了以

后还不知道到底自己学的是什么....

没关系.做个项目,一切问题迎刃而解.
我当时是跟着马士兵的视频做了个 BBS 论坛.虽然这个视频有点老了.但是看看还是可以学

到很多东西,等你做了个论坛出来.
跑在自己的 tomcat 上,叫上你的朋友访问你的电脑.哈. 那种成就感.相当的爽....

切记:这时候一定要做个项目,把前面学的用一下,有些可能以前只是了解下的知识,在你做项
目中用到,你就要去费点时间研究一下.

切记:代码是敲出来的.做项目是提升自信心的最好办法.

这部分其实就是三大框架.SSH.
建议的学习方法就是跟着视频把原理,用法等的有个基础了解.有些东西你可能不理解.例如

Spring 的 IOC,你可能没有感觉到这个有什么
好的地方,没关系.照着学就是了.

这部分学习,没啥经验分享的.我当时应该是捏着鼻子把视频看完的,因为厌学情绪很高.当你

把这部分学完以后.java 的学习基本上
是差不多了,你可以找个项目练练手,试试 SSH 的整合.
切记:一定要做个项目.那怕最简单的把 SSH 整合在一起的.

切记:代码是敲出来的.做项目是提升自信心的最好办法.

没听过的感念.这些东西目前我也还没掌握.嘿嘿.

你要注意.这一部分的重点是项目, 前面说的那么多名词其实就是让你开阔下眼界,别以后出
去工作了,别人说这些名词你都不知道是什么东西,那就

大家可能感觉到,我对于前面五部分的学习经验,里面基本都是用掌握,了解,看下之类的字眼
形容,一定要注意,那些知识点不是让你了解下就好的.

而只是在你学习的那个阶段了解下就行 .到现在,你需要的不只是了解.你需要运用,用你前面
了解的东西去做项目,做完以后,你对那些知识点应该已经
超过了了解的深度.前面的很多东西我因为赶时间都没看过 ,像 EL,JSTL 等,但是最后做项目

的时候用到了,我又回过头学了一下.

公司招人,都是需要工作经验的人,什么是工作经验?基本就是项目经验.所以一定要做项目.以
前那些重点的东西,你当时只是了解了一下,

在你做项目的时候,要再去深入的理解一下.

这一章写完了.回顾当时学习时候的状况,基本都是

好难--做项目--不过如此--继续新知识--

东西好多好难--做项目--不过如此--继续新知识--...

这样一个过程.一定切记多动手,没有信息的时候,写一段代码出来就好了

我要回帖

更多关于 Java最大团问题代码 的文章

 

随机推荐