西安Java培训班哪个实力强
西安Java培训班哪个实力强?直接看叫教授的技术内容就可以了!对我们来说,学到前沿的Java技术,找到一份体面的工作才是重要的。在决定之初,多多比较各大培训机构的大纲,结合现在企业对技术人才的要求,筛选出一个理想的培训班!
以上是个人经验分享,下面是学习技术分享!
综合考虑下,我是在千锋西安Java培训的,个人选择,仅供参考。下面是自己总结的技术点:Java面向对象中的对象创建与使用。也就是说我们程序员如何new出无数个对象!
接下来演示如何用类创建对象,创建对象之前,必须先声明对象,其语法格式如下:
类名 对象名;
类是自定义类型,也是一种引用类型,因此该对象名是一个引用变量,默认值为null,表示不指向任何堆内存空间。接下来需要对该变量进行初始化,Java使用new关键字来创建对象,也称实例化对象,其语法格式如下:
对象名 = new 类名();
上述示例中,使用new关键字在堆内存中创建类的对象,对象名引用此对象。声明和实例化对象的过程可以简化,其语法格式如下:
类名 对象名 = new 类名();
接下来演示创建Person类的实例对象,具体示例如下:
Person p = new Person();
上述示例中,“Person p”声明了一个Person类型的引用变量,“new Person()”为对象在堆中分配内存空间,最终返回对象的引用并赋值给变量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-1中,实例化了两个Person对象,并通过“对象.属性”的方式为成员变量赋值,通过“对象.方法”的方式调用成员方法。从运行结果可发现,变量p1、p2引用的对象同时调用了say()方法,但输出结果却不相同。这是因为用new创建对象时,会为每个对象开辟独立的堆内存空间,用于保存对象成员变量的值。因此,对变量p1引用的对象属性赋值并不会影响变量p2引用对象属性的值。为了更好地理解,变量p1、p2引用对象的内存状态如图所示。
例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-3中,第16行代码p2被赋值为p1后,会断开原有引用的对象,而和p1引用同一对象。因此打印如图4.6所示结果。此时,p2原有引用的对象不再被任何变量所引用,就成了垃圾对象,不能再被使用,只等待垃圾回收机制进行回收。垃圾产生的过程,如图所示。
图中,首先实例化两个对象p1和p2,其次分别为p1和p2的属性赋值,最后将p2从新赋值为p1,p2将断开原有引用,此时被断开引用的对象,也不被其他引用变量所引用,就成为垃圾空间,等待被回收。
以上是自己在千锋西安Java培训时的笔记,个人觉得千锋讲的Java课程还是值得推荐的,感兴趣的可以先试听一下!
相关推荐HOT
更多>>it学费大概是多少?怎么学习是最性价比的方式
我们如果要学习it,你会发现好像收费标准都不太一样。那么准确的it学费大概是多少呢?其实少则几百几千,多则2,3万都有。其实真的没有一个比较...详情>>
2023-02-28 16:01:43西安软件测试培训多少钱?花多少钱合适?
作为IT技术岗位,软件测试在市场上的缺口也是非常大的,而且这方面人才也是非常匮乏的,这也吸引了很多人们都想要从事这个行业,一旦从事这个...详情>>
2023-02-20 16:08:00西安前端开发培训需要多少钱?需要多长时间?
现在社会上web前端培训机构也是比较多的,而且这些培训机构也主要分为线上或者线下教学,由于教学模式不同,所以收费也是各不相同的。西安前端...详情>>
2023-02-20 15:51:00西安it培训班有哪些?考察的侧重点是什么
在西安it培训班的数量可以说是非常多的,为我们学习it,成为这方面人才也提供了一个非常不错的平台,尤其是对于一些非专业的学生来讲,通过系统...详情>>
2023-02-10 15:17:00热门推荐
真正的营销推广:利用社交媒体广告的有效性
沸前端工程师主要干啥?前端工程师提升空间大吗?
热女生学前端开发好吗?女生学前端容易吗?
热后端和前端的区别是什么?前端工作难吗?
新软件测试工资待遇大概多少?工作岗位学历要求高吗?
it学费大概是多少?怎么学习是最性价比的方式
it培训大概费用?怎么选择培训机构
西安软件测试培训多少钱?花多少钱合适?
西安前端开发培训需要多少钱?需要多长时间?
女生学前端开发难吗?适合女生选学吗?
西安哪家Java培训班好?参加Java培训的好处
西安Java培训一般多少钱?费用并不代表品质
西安Java培训班哪里好?值得一看
Java培训班靠谱吗?报培训班的好处