java是个什么玩意儿(java基础知识——<>的意义)
很多朋友对于java是个什么玩意儿和java基础知识——<>的意义不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
java和kotlin哪个更值得学
java。
1、个人建议学习java,比如你不懂Java,如何比较跟理解static与伴生对象﹖你要调用Comparator你会不会一脸懵逼? Data Class转成的Java代码你会不会分析? JavaBean概念懂吗﹖前者解决了后者什么问题?
Kotlin默认Class不是Open的,有何影响﹖特别是跟一些框架如Spring配合有哪些坑需要填?这些你不懂Java你就解决不了,你就只能写写“Hello World”。
2、只有用惯了Java而又想继续改进工作效率(或者为了寻求刺激)的人,才会真正去“用”Kotlin。而且为了更好的用,会发展出一堆的best practice。这些工具或者SOP,绝大多数会首先考虑如何重用Java已有的东西,然后在此之上考虑怎么做得比Java效率更高。
那些没有Java基础,没写过几年Java的人,一上手Kotlin,不会觉得这玩意儿有多好用。而且Java初学者要踩的坑,他基本上要一个不漏用Kotlin再踩一次,而且因为用的不是直接Java,所以解决起来反而更困难。
3、语言本身没什么不可以,问题出在两个地方一个是文档,现有的文档基本都假设你已经有Java基础了,所以对于完全不懂Java的人来说未必很好理解。
另一个是各种库和框架,绝大部分JVM下的库和框架都是针对Java设计的,用Kotlin总需要转换下格式什么的,如果你完全不懂Java这一步可能就走不下去了。
java基础知识——<>的意义
首先你要理解面向对象编程。
“Everything is Object”——“万物皆对象”。语出Java之父,那个急死你·搞死你说的。
意思就是其实啥玩意你都可以看成一个对象,或者一个类。
类是对一类事物的抽象定义,对象是这个类具体的实现实例。
“人”是一种类,而“刘德华”就是人这个类的具体对象。
从这个理念出发,扩展出反射的概念。那么,其实,我们能将“人”这个类本身,也视为一个对象。
Class c2= boolean.class,实际上定义了一个“类对象”,这个对象中有这个类的相关属性方法(这里有点绕)。
具体来说就是“boolean”这个类的一些性质。从底层上来说,boolean.class是boolean这种数据结构的字形码。
用我的例子来说, Class c=人.class,我们得到的就是“人”这个类的类对象,也就是他的字节码。我们可以通过这个字节码,去构造一个新的人。这就是Java的反射机制了。
考虑如下情形:你是一个架构层的开发员(你的客户就是Java程序员),你在指定任何一套供人扩展的框架时,肯定会定义很多底层操作。比如新建一个类。但是你不知道这个类的类名,方法名什么的(你不知道你的客户会写出什么类名)。
那么如何能实现这个需求呢。这时候只能使用反射,拿到这个类的字节码(类对象),通过反射机制,去得到这个类的实例。
任何类名都可以通过类名.class点出它的类对象(字形码),也可以通过该类的某个实力 o.getClass()方法得到这个字形码。就是你写的这两个例子所代表的含义。
Java能自学好吗
Java自学可以成功。自学java关键看自己是否有毅力、是否有恒心。
自学java不是把自己封闭在屋子里闭门造车,自学java包括一个核心的部分就是自我目标实现能力。
自学最重要的是心态和毅力,如果毅力不够坚定自学很难坚持下来,自学是孤独寂寞的,同时也是快乐的。学习需要循序渐进,没有捷径,只能一步一个脚印,坚持下去才能成功。
自学java选择的书本,推荐java入门《java核心技术》、掌握好java基础知识后再看java进阶《Thinkinginjava》,然后在看java高级书籍《EffectiveJava中文版》,视频推荐拓胜董旭源老师的java教学视频,幽默风趣,浅显易懂。
自学java一定要多动手,这个非常非常重要。关于编写工具,有的童鞋一开始就用eclipse等一些先进的工具来进行代码编写,不推荐这种做法,像eclipse这种IDE工具,是为了在工作中提高工作效率的。对于初学者最好不要用这些个工具,推荐用UltraEdit或者EditPlus3或者Notepad++这种文本编辑器来写java代码,用这些工具写会让你更加牢固的记住java语法。
Java自学的顺序首先是javase:基础语法、递归、面向对象、异常处理、数组、常用类、IO、线程、网络编程基本的章节顺序就是这样的,对于图形界面那部分,完全可以抛弃,因为图形界面不是java的强项,现在也极少数的公司用图形界面来做应用。学好了javaSE就是java基础的一些东西之后,可以选择做javaEE也就是web项目,也可以选择做android手机应用。在学javaEE之前,先学这几个html,css,js。js的学习是个漫长的过程,在以后的学习和工作中再慢慢加强。建议先学好js再用下jquery这类框架的js,一开始上手就用jquery,原生态的js不会就用这些框架。html,css,js学完了,就可以学习jsp了。等jsp学好了,就可以学习servlet了,servlet是重点,像现在的一些框架struts这样的框架都是基于servlet的。等servlet学好了,就可以用eclipse了。用eclipse进行项目开发了,这个时候会发现很得心应手。而在自学java过程一定要理论结合实践,多操作,在实践中才能发现问题,解决问题,这样才能提高。
其实自学java一定要遵循由浅入深、循序渐进,心态切不可浮躁冒进,必须掌握好java基础知识,理论结合实践,多学,多问,多实践,认准目标,坚持下去。无论怎样,都需要自学,怀疑自学java是否成功,就等于放弃学习!
文章摘自:http://www.toceansoft.com/itndustryinfo/4038.jhtml
PS:学习java最主要的就是要自己手动敲代码,看100遍不如自己写一遍。
JAVA Package是啥玩意 是文件夹吗
恩。package可以和文件夹对应。在Java中新建package后,在文件系统中也会出现相应的文件夹。package是用来组织类的(这一点与文件夹组织文件的功能相似),如果没有package,那么类名肯定会有很多重复的,不仅仅是自己工程中可能重复,也可能和别的开源jar中出现重复,这样就导致没有办法Import别人的类了。有了package后,就比较好组织类了,通过包名和类名,就可以唯一确定一个类了。前提是大家都遵守包名的命名规范。
OK,本文到此结束,希望对大家有所帮助。