欢迎来到 IT实训基地 - 科迅教育
咨询电话:400-836-0509
首页
就业真相
视频教程
项目实战
学员专访
技术交流
Java教程之对象的创建与使用
行业资讯
...

科迅java培训老师分享java面向对象中的对象创建与使用。类是对象的抽象,为对象定义了属性和行为,但类本身既不带任何数据,也不存在于内存空间中。而对象是类的一个具体存在,既拥有独立的内存空间,也存在独特的属性和行为,属性还可以随着自身的行为而发生改变。接下来演示如何用类创建对象,创建对象之前,必须先声明对象,其语法格式如下:

DSC_4841_wps图片_副本.jpg

  类名 对象名;

  类是自定义类型,也是一种引用类型,因此该对象名是一个引用变量,默认值为null,表示不指向任何堆内存空间。接下来需要对该变量进行初始化,Java使用new关键字来创建对象,也称实例化对象,其语法格式如下:

  对象名 = new 类名();

  上述示例中,使用new关键字在堆内存中创建类的对象,对象名引用此对象。声明和实例化对象的过程可以简化,其语法格式如下:

  类名 对象名 = new 类名();

  接下来演示创建Person类的实例对象,具体示例如下:

  Person p = new Person();

  上述示例中,“Person p”声明了一个Person类型的引用变量,“new Person()”为对象在堆中分配内存空间,最终返回对象的引用并赋值给变量p,如图4.1所示。

图片1.png

  图4.1 对象p在内存中的示意图

  对象实例化后,就可以访问对象的成员变量和成员方法,其语法格式如下:

  对象名.成员变量;

  对象名.成员方法();

  接下来通过一个案例来学习访问对象的成员变量和调用对象的成员方法,如例4-1所示。

  例4-1 TestPersonDemo.java

  1 class Person {

  2 String name; // 声明姓名属性

  3 int age; // 声明年龄属性

  4 public void say() { // 定义显示信息的方法

  5 System.out.println("姓名:"+name+",年龄:"+age);

  6 }

  7 }

  8 public class TestPersonDemo {

  9 public static void main(String[] args) {

  10 Person p1 = new Person(); // 实例化第一个Person对象

  11 Person p2 = new Person(); // 实例化第二个Person对象

  12 p1.name = "张三"; // 为name属性赋值

  13 p1.age = 18; // 为age属性赋值

  14 p1.say(); // 调用对象的方法

  15 p2.say();

  16 }

  17 }

  程序的运行结果如图4.2所示。

图片2.png

  图4.2 例4-1运行结果

  例4-1中,实例化了两个Person对象,并通过“对象.属性”的方式为成员变量赋值,通过“对象.方法”的方式调用成员方法。从运行结果可发现,变量p1、p2引用的对象同时调用了say()方法,但输出结果却不相同。这是因为用new创建对象时,会为每个对象开辟独立的堆内存空间,用于保存对象成员变量的值。因此,对变量p1引用的对象属性赋值并不会影响变量p2引用对象属性的值。为了更好地理解,变量p1、p2引用对象的内存状态如图4.3所示。

图片3.png

  图4.3 对象的内存关系

  例4-1中没有为p2对象的成员变量赋值,但从图4.3中可发现,p2对象的name值为null,age值为0。这是因为在实例化对象时,Java虚拟机会自动为成员变量进行初始化,根据成员变量的类型赋相对应的初始值。

  另外,需要注意的是,一个对象能被多个变量所引用,当对象不被任何变量所引用时,该对象就会成为垃圾,不能再被使用。接下来演示垃圾是如何产生的,如例4-2所示。

  例4-2 TestObjectRef.java

  1 class Person {

  2 String name; // 声明姓名属性

  3 int age; // 声明年龄属性

  4 public void say() { // 定义显示信息的方法

  5 System.out.println("姓名:"+name+",年龄:"+age);

  6 }

  7 }

  8 public class TestObjectRef {

  9 public static void main(String[] args) {

  10 Person p1 = new Person(); // 实例化第一个Person对象

  11 Person p2 = new Person(); // 实例化第二个Person对象

  12 p1.name = "张三"; // 为p1对象name属性赋值

  13 p1.age = 18; // 为p1对象age属性赋值

  14 p2.name = "李四"; // 为p2对象name属性赋值

  15 p2.age = 28; // 为p2对象age属性赋值

  16 p2 = p1; // 将p1对象传递给p2对象

  17 p1.say(); // 调用对象的方法

  18 p2.say();

  19 }

  20 }

  程序的运行结果如图4.4所示。

图片4.png

  图4.4 例4-2运行结果

  例4-3中,第16行代码p2被赋值为p1后,会断开原有引用的对象,而和p1引用同一对象。因此打印如图4.6所示结果。此时,p2原有引用的对象不再被任何变量所引用,就成了垃圾对象,不能再被使用,只等待垃圾回收机制进行回收。垃圾产生的过程,如图4.5所示。

图片5.png

  图4.5 垃圾对象的产生

  图4.5中,首先实例化两个对象p1和p2,其次分别为p1和p2的属性赋值,最后将p2从新赋值为p1,p2将断开原有引用,此时被断开引用的对象,也不被其他引用变量所引用,就成为垃圾空间,等待被回收。

  学习java开发,可以参考科迅提供的java学习路线,该学习路线罗列了各阶段完整的java学习知识,根据科迅提供的java学习路线图,可以让你对学好java开发需要掌握的知识有个清晰的了解,并能快速入门java开发。


2020-06-09 17:11:08
109
参加科迅教育Java培训 享受过程乐在其中
行业资讯
...

 我来科迅参加Java培训是之前学姐推荐的,因为众所周知,科迅此前就是在移动端大展拳脚,教学也是没的说。来到这里我真切的体会到了科迅好口碑的由来,我们的老师教课风格也是我喜欢的,很幽默风趣,让原本枯燥的代码瞬间被赋予了灵魂,带着兴趣和动力去学习Java程序开发真是一个很好的开始。

  在开始学习Java时,觉得有C语言做基础会比较容易一些。Java区分大小写,在一开始调试别人的程序时,常会因为字母、空格等一些小的失误调试不出来,慢慢地随着练习的增多,这些低级错误也渐渐可以避免了。Java中类比较多,还有包等,一开始学起来会觉得比较繁琐。

1.jpg

 

  对于初学者来说,一定要抱着一个良好的学习心态,千万不要好高骛远。刚刚步入Java开发工作的人,应该以学习提高技术水平为主要目的,不要一味的追求高薪,等技术达到一定的水平,自然能够找到一份高薪的工作。懂学习,会学习是高手与普通工程师的主要区别。有些人即使工作了好几年的时间,技术依然没有得到很大的提升,重要的原因就是忽略了学习的重要性。

  在科迅教育学习,我领悟了学习代码的真谛,就是思考和多动手。只要跟随老师的讲课节奏,渐渐地就会发现我使用代码越来越灵活,那些书本上的知识慢慢就变成自己的了。现在,我非常期待投入到后两个阶段的学习中,科迅教育浓厚的学习氛围让我乐在其中,我很享受与志同道合的朋友们一起拼搏。在紧张学习之余,班主任老师精心为我们筹备劳逸结合的拓展小活动,大家聚在一起,暂时忘记枯燥的代码,享受美食和美景,也是别有一番风味。相信培训结束后,经过科迅就业老师的专业指导,我一定会在科迅举办的双选会上收获心仪的offer,实现职业梦想。


2020-06-08 09:31:50
111
用技能点亮梦想 科迅HTML5大前端学员斩获28k高薪
行业资讯
...

     从事简单的前端工作,拿着每月5000元钱的薪资是崔同学之前的生活状态。现在的她经过科迅教育的培训,拿着28k的薪资迈入了新的职场生涯。巨大的人生转折,来自于她不服从命运安排的决心和有科迅这样的良心教育机构。

  几个月前,经过无数次内心的煎熬与挣扎,崔同学决心要给自己一次重新出发的机会。于是经过同学的介绍,她来到科迅HTML5大前端参加培训。

QQ浏览器截�?0190322162843.png

    

      

    在刚刚学习HTML5大前端的时候,因为有之前的基础,所以学习起来还是非常轻松,但是随着课程的逐步深入,学习难点的加深,崔同学理解起来也越来越困难,她开始有一些懈怠。科迅老师了解情况后,鼓励她说:“‘学如逆水行舟,不进则退。’在遇到困难后,我们首先想到的不是放弃,而是要怎样解决问题,你不能因为遇到一点点挫折,就退缩,要相信自己。”在老师的鼓励与同学的帮助下,她开始一点点、一步步的解决学习中的困境。

  从此,每周六日总会看到一个身影在教室里,对照笔记本上的内容,一遍又一遍在电脑上书操作着程序。几个月的时间她那本厚厚的笔记本已经被翻得褶皱,她用自己的毅力与坚持完成了全部课程,并且成绩优异。

  有实力就能获得好就业,5月28日她走进了自己心仪的企业,月薪28k,开启了新的职业生涯。她非常感谢科迅为她提供的一切优势条件,更感谢科迅老师对她的帮助与鼓励。

同学所在班级一共42人,毕业第8天已有28人收到offer,是科迅教育帮助她们用实力、技能实现高新梦想。科迅教育年培养优质人才20000余人,合作企业超18000家,为高校举办实训5000余次,组织实施各类讲座4万余场,每年有数百万名学员受益于科迅教育组织的技术研讨会、技术培训课、网络公开课及免费教学视频,是真正的良心机构。

 



2020-06-06 16:34:54
109
科迅教育IT培训:非计算机专业怎样学好编程开发?
行业资讯
...


一是自学。网上有很多自学的平台。


二是报班。线上线下培训班有很多。最近几年互联网培训很火,所以相对应的在线学习课堂也不少。


自学的优势是可以省很多钱,学习时间自由,而缺点是毅力不够,半途而废;报班的优势在于有一个学习氛围,有一个指导你的老师,技术成长的更快更稳定。


所以,互联网对非计算机专业人才的需求量丝毫不亚于计算机专业,但前提是,你足够优秀,因为未来互联网的门槛会越来越高,只会留下保持学习能力的人。


IT行业与其它行业相比,它的技术变更更加快速,可能每天都会有新的技术出现,你每天也都会接受到新的名词、新的技术、新的架构体系。

3.jpg

身处在这个变化如此之快的行业,快速学习的能力变得非常重要。比如一个新技术出来,你的老板可能需要你用一个月的时间用这个新技术完成一个项目,一般这种情况下,你最多只有一周时间完成对这个技术基本入门,后面就是一边用一边学。


说到学习能力,需要特别强调一点的是英文的阅读能力。其实作为程序猿,英语能力是不可或缺的。


毕竟计算机这整套体系都是老外创造出来的,所以我们在学习新技术的时候面对的大部分都是英文文档。这个时候,就特别需要我们有一个良好的英语阅读的能力,这样我们才能更好的快速掌握相关的技术信息。


2020-06-06 12:52:57
50
科迅教育IT培训:跨专业学IT需要注意哪些问题?
行业资讯
...

第一:根据自己的知识结构选择发展方向。


IT领域经过多年的发展,已经逐渐形成了一个比较庞大的行业体系,有众多的细分方向,比如前端开发、后端开发、移动端开发、嵌入式开发、测试、设计、策划、运维等等岗位,不同的岗位需要具备不同的知识结构,因此需要根据自身的实际情况和兴趣选择一个具体的方向。


通常情况下,如果数学基础比较好可以选择的余地会更大一些,如果数学基础比较薄弱,那么可以选择前端开发、移动端开发、测试、运维等岗位。



第二:选择发展前景较好的领域。


领域的选择也比较重要,当前正处在大数据时代,以大数据为代表的相关技术,包括云计算、物联网、人工智能等领域都是不错的选择。随着5G标准的逐渐落地,产业互联网发展的大幕正徐徐拉开,在这个背景下,选择大数据相关技术会具有较大的发展空间。

1.jpg

第三:学好计算机基础知识。


要想在IT行业的技术研发领域走得更远,一定要注重计算机基础知识的学习,包括操作系统、计算机网络、算法设计、数据结构、编译原理、数据库等内容,这些内容的掌握情况往往会对未来的职场发展起到重要的作用,尤其是对于后端开发人员来说更是如此。


2020-06-06 12:50:42
51
科迅教育JAVA培训:制定目标,逐一完成
行业资讯
...


作为一个JAVA小白,刚刚踏入这样一个新领域,开始的心情还是忐忑的,但通过一周以来的科迅教育课程学习,初步了解了关于Java开发的一些知识。


通过这周的学习,我学到了:


1.计算机的基础知识、DOS命令、JDK的安装。

2.Java的第一行代码、常量知识、变量知识、八大数据类型。

3.Java中运算符的基础知识。

4.Java的分支结构。

5.Java的循环结构等。

微信图片_20190713160555.jpg

学习的不足之处和改进方法,首先是键盘使用问题,打字的速度需要提升;其次java代码的格式问题,后面要严格按照老师的要求一遍一遍的练习;最后,遇到问题的应该先自己思考,而不是直接上来就去问老师。

以后的学习,要制定一个大目标,再制定一个小目标,一步一步的达到,每个知识点都弄懂,逐一攻克知识难点。


2020-06-03 12:40:47
55
Java知识框架怎么搭建?
行业资讯
...

 学习Java很难吗?其实学习任何知识,体系和思路很重要。学习Java也是如此,尤其是掌握了好的学习方法,可以让我们事半功倍。相对其他编程语言,Java语言的特点是简单、易操作,但是想要学到其精髓,最重要的一步是学会如何搭建Java框架。根据每个人的学习方式、方法不同,可以制定具体的计划。科迅老师凭借多年的实战经验与教学经验,整理了搭建Java知识框架的几个方法,与大家分享。

     QQ浏览器截�?0190322162843.png

      如果我们想要搭建Java的知识框架,首先要了解Java的一些基本语法,比如数据类型、运算符、程序流程控制、数组等。只有我们对Java的一些基本语法有所了解,才能对Java有一个初步认识,才能为以后学习Java打下一个稳定的基础。

  除了对Java语法了解外,还需要对Java类有所认识。Java所有对象都存在于它所属的类之中,而且每个类都有它自身的属性和方法。通过将对象的属性和方法归纳为特定的一类,给这个类定义好对象需要的属性和方法,所有该类的对象都可以通过新类来快速使用它,从而大大减少代码量,并且让界面更简洁。此外,当我们再次需要用到和该类相关的属性和行为时,我们只需要去调用它就可以轻松完成。

  最后,需要了解的就是最核心的面向对象思想,只要能够掌握好面向对象这一核心概念,基本上Java的学习就算真正地入门了。在掌握了这些Java知识点后,我们将这些知识点进行梳理、总结,然后搭建出一个简单的、容易自己记住的知识框架,这样我们就离学好Java更进一步了。

  这些知识点说起来容易,但是学起来却比较困难,因此想要在Java领域小有成就,还是需要选择一家靠谱的培训机构。现在市面上的培训机构很多,选择培训机构时一定要看该培训机构的业界口碑、教学实力以及学员就业等情况。科迅教育Java课程,实战项目涵盖7大主流技术领域,覆盖绝大多数企业的技术问题,锻造程序员的核心竞争力。此外,课堂互动教学,学员之间可以交流学习方法,增进友谊的同时,培养同行业人脉,更有一线架构师与技术大咖追踪教学,让学员学到前沿知识与技术,成为企业所需要的复合型人才。科迅教育JavaEE+分布式开发现已在南通、南京均开设校区,小伙伴们可以就近参与培训

 

 





2020-06-03 09:58:31
57
南京校区:南京市建邺区新城科技园广聚路33号安科大厦4楼
18724002960
南通校区:南通市崇川区人民中路23号新亚大厦3楼
13626271253
上海校区:筹建中...
敬请期待
全国咨询电话
400-836-0509
周一至周日   08:30-21:30
关注免费学习
苏ICP备15009282号     科迅教育版权所有     Copyright 2008 -
领取学习视频资料
限前100名
您好,您想咨询哪门课程呢?