44行:是重写了对象的equals方法,是用来比较两个对象是否相同的,按照上面的代码就是,如果两个person对象的name属性和age属性相同的话用equals比较时,则认为是相同的。
十多年的广州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整广州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“广州网站设计”,“广州网站推广”以来,每个客户项目都认真落实执行。
78行:sop是自己写的一个方法,这个要自己看源码是干什么的,里面的参数是一个boolean值,值的来源为arraylist的方法remove的返回。
关于remove可以参看java的API:简单如下解释
public boolean remove(Object o)从此列表中移除指定元素的单个实例(如果存在),此操作是可选的。更正式地说,如果列表包含一个或多个满足 (o==null ? e==null : o.equals(e)) 的元素 e,则移除该元素。如果列表中包含指定的元素,则返回 true(或者等同于这种情况:如果列表随调用的结果而发生改变,则返回 true)。
Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看他的编程水平。
其实有的java程序员java代码会受到大家的追捧,是因为他在写代码时注意的细节往往多于那些不怎么关注java代码编程细节的程序员,俗话说:“细节决定成败”,那么如何写出好的java代码呢?IT培训介绍一起来讨论下:
1.重视注释
有的java程序员在写代码时,从来没有想过要在java代码后加上相关的注释,甚至是上万行的代码也没有想过加上注释,这就存在很大的问题,不说你的代码会跟其他人分享讨论,就你自己回顾你是怎么写好这篇代码的,你也是半天无法理出头绪,这就为维护和修改等等工作添加了很大的麻烦。所以,要想写出好的java代码,一定从简短的java代码编写开始注重在java代码后面加上相应的注释,养成良好的习惯。
2.重视排版整洁
看很多java程序员的排版总觉得在欣赏一幅艺术品,但是看到一些java程序员的排版却总觉得无力吐槽。同样是编写代码,但是给人的视觉体验是相当的不同,当然好的java代码给人的享受也是美的,所以要想写出好的代码,一定要重视排版整洁。
3.注重命名规则
现在在一个团队开发中,都会提前定制一个统一的命名规则,这样利于提高工作效益。但是很多java程序员是缺乏这个意识的,每次敲代码,更喜欢按照自己惯常的方式老命名模块、函数,这样是方便了自己,但是忽视团队协作,所以在日常工作中,特别是团队工作中一定要重视命名规则。
4.养成备份习惯
备份的重要性不用小编强调,相必你也知道。但是有的java程序员就是没有养成这样的好习惯,每次敲完代码就不记得随手保存,每次等到除了事故,比如电脑出了故障,辛辛苦苦敲打的java代码没保存找不回来的情况下就开始懊恼,与其这样还不如在一开始就养成良好的备份习惯,这样也方便自己日后查找利用。
推荐你几本书,按顺序学习就好了,刚开始学的时候代码不会写很正常,但是应该要模仿着写,该背的还是要背,有些模式得背得很熟,当然是不是死记硬背是要理解了背,最后自己找点题目练练,多敲敲代码就行了
一、Java编程入门类
对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。
1、《Java编程思想》
它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮助打下一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了
2、《Agile Java》中文版
这本书一大特点是以单元测试和TDD来贯穿全书的,在教Java各种重要的基础知识的过程中,潜移默化的影响编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK5.0的语法为基础讲解,要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以以最少的时间掌握Java最重要的知识,顺便培养出来优秀的编程思路,真是一本不可多得的好书
二、Java编程进阶类
打下一个良好的Java基础,还需要更多的实践经验积累,培养良好的编程习惯,提高代码质量
1、《重构 改善既有代码的设计》
这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和实践相互印证。这本书产生影响是潜移默化的。
2、《测试驱动开发 by Example》
本书最大特点是很薄,看起来没有什么负担。这本书的作用是通过实战培养TDD的思路
三、Java架构师之路
到这个阶段,应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是可能还缺乏对应用软件整体架构的把握,现在就是迈向架构师的第一步
1、《Expert One-on-One J2EE Design and Development》
这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了 springframework。但是好像这本书没有中译本。
2、《Expert One-on-One J2EE Development without EJB》
这本书由gigix组织翻译,多位业界专家参与,虽然署名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。以上两本书都是Rod Johnson的经典名著,Java架构师的必读书籍。
3、《企业应用架构模式》
Martin的又一本名著,这本书更适合做框架的人去看
4、《敏捷软件开发原则、模式与实践》
Uncle Bob的名著,敏捷的经典名著,这本书比较特别,与其说是讲软件开发过程的书,不如说讲软件架构的书,本书用了很大篇幅讲各种面向对象软件开发的各种模式
四、软件开发过程
了解软件开发过程不单纯是提高程序员个人的良好编程习惯,也是增强团队协作的基础。
1、《UML精粹》
UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要的工具。但是UML真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML用户指南》之类的东西。
2、《解析极限编程 拥抱变化》
XP这是Kent Beck名著的第二版,中英文对照,必读书籍。
3、《统一软件开发过程》
UP其实UP和敏捷并不一定冲突,UP也非常强调迭代,测试,但是UP强调的文档和过程驱动却是敏捷所不取的
4、《敏捷建模》
AMScott Ambler的名著,这本书非常的progmatic,既敏捷又UP,把敏捷和UP统一起来了,又提出了很多progmatic的建议和做法
最简单的java代码肯定就是这个了,如下:
public class MyFirstApp
{
public static void main(String[] args)
{
System.out.print("Hello world");
}
}
“hello world”就是应该是所有学java的新手看的第一个代码了。如果是零基础的新手朋友们可以来我们的java实验班试听,有免费的试听课程帮助学习java必备基础知识,有助教老师为零基础的人提供个人学习方案,学习完成后有考评团进行专业测试,帮助测评学员是否适合继续学习java,15天内免费帮助来报名体验实验班的新手快速入门java,更好的学习java!
学习JAVA应该从哪一部开始很多人都很迷茫,下面是我整理的学习路线和方向一共四点。希望对你有帮助!
①【学习语言基础】
很显然,掌握语言基础是第一步。如果你不了解基础知识,那么你就不知道自己是否做错了或者接下来该怎么做。当然,这并不是要求你把所有的基础知识都记住,比如所有的 Java关键字、核心概念或者基本编码技术等。
②【开始编写一些小程序】
如果你确信自己对大多数的基础知识和概念足够熟悉,并且能够以某种方式将它们联系起来,那么你就可以进行下一步了,你可以开始尝试编写一些非常基本的 Java 程序,比如打印 hello world、实现简单的加减法,等等。
③【 使用 Java API 编写高级程序】
当你完成了大部分的基础程序编写,并且掌握了基本的编程技巧之后,就可以进行下一步了。我会建议你努力学习 Java 集合和 Java IO 内部的 API。你需要熟悉这些 API 提供的各种类和接口,并利用它们来创建程序。需要注意的是,你应该查找已经存在的 API 和方法来实现功能,而不是自己实现这些逻辑。你的任务是熟悉这些 API,因此你只能够在这些已有的 API 中寻求解决方案。
④【编写桌面程序和 Web 应用】
通过这一步的学习,面对任何 Java 面试你都能够信心满满,当你讨论 Java 相关的话题时也能够充满自信。你需要至少编写一个 Java 桌面或者 GUI 应用程序,比如计算器,然后再编写一个 Web 应用程序,比如医院管理程序。在前面的学习中,你已经掌握了最基本的 Java 知识,现在你需要去探索,然后编写出这两个应用程序。
重要的是,它可以帮助你养成不惜一切代价完成一项任务的好习惯。这种持之以恒的态度对你职业生涯的长远发展是非常重要的。
最后,也是最关键的一点,就是要多看视频教程,这一类的资料很多,可以自己搜索看一下,B站上面很多有关java的学习资料,我冒昧的推荐一个可以参考一下:网页链接
abstract class Employee{
private String name ;
public Employee(String name){
this.name = name ;
}
public String getUserName(){
return this.name ;
}
public abstract float earnings() ;
}class Boss extends Employee{
private float salary ; //日薪
public Boss(String name,float salary){
super(name) ;
this.salary = salary ;
}
public float earnings(){ //周工资
return this.salary * 7 ;
}
}class CommissionWorker extends Employee{
private float basic ; //基本日薪
private float sale ; //销售额完成百分比
public CommissionWorker(String name,float basic,float sale){
super(name) ;
this.basic = basic ;
this.sale = sale ;
}
public float earnings(){
return sale * basic *7 ;
}
}class PieceWorker extends Employee{
private float price ; //每件的价格
private int num ; //产品数量
public PieceWorker(String name,float price,int num){
super(name) ;
this.price = price ;
this.num = num ;
}
public float earnings(){
return price * num ;
}
}class HourlyWorker extends Employee{
private float salary ; //基本日薪
private int time ; //工作时间
public HourlyWorker(String name,float salary,int time){
super(name) ;
this.salary = salary ;
this.time = time ;
}
public float earnings(){
return time * salary ;
}
}
//测试类Test19
public class Test19{
public static void main(String args[]){
//测试代码
Employee e1 = new Boss("boss",300.0f) ;
Employee e2 = new CommissionWorker("commissionworker",100.0f,0.8f) ;
Employee e3 = new PieceWorker("pieceworker",10.0f,20) ;
Employee e4 = new HourlyWorker("hourlyworker",150.0f,4) ;
print(e1) ;
print(e2) ;
print(e3) ;
print(e4) ;
}
public static void print(Employee e){
System.out.println(e.getUserName() + " -- " + e.earnings()) ;
}
}