Java面向对象的学习第二部分

接着上一部分继续:上一部分学了类和对象的一些基本概念、以及对象的特性之一:封装性。

一、面向对象

this方法补充:

在前面已经学了this方法,关于怎么使用,已经很清楚了,但还是需要补充一些知识点:

Java面向对象的学习第二部分_第1张图片

应用举例:

理解项目的空间内存变化,对写代码有质的帮助。这点非常重要。比如:下面这个Account类、Customer类、Bank类。

Java面向对象的学习第二部分_第2张图片

面向对象的继承性:

对继承性的理解:

继承性有两种角度:

自上而下:类A、类B,类B功能和类A相似,这个时候,可以考虑类B继承类A。

自下而上:定义类B、C、D。发现B、C、D有共同的属性和方法。可以考虑将它们封装到类A中,并让BCD继承类A。

父类:superclass;子类:subclass。

Java面向对象的学习第二部分_第3张图片

Java面向对象的学习第二部分_第4张图片

Java面向对象的学习第二部分_第5张图片

 介绍断点的作用:

断点可以帮助我们理解,栈和堆的空间变化。一般设置在 创建对象的时候。

这样点击运行,断点就会出现这个栈和堆的空间。类似下面:这里我们设置的断点是:Student s1=new Student();  

Java面向对象的学习第二部分_第6张图片

区分重载和重写(再次):

Java面向对象的学习第二部分_第7张图片

super()关键字的补充:

使用场景:

Java面向对象的学习第二部分_第8张图片

 super调用构造器:

Java面向对象的学习第二部分_第9张图片

 其实super关键字,解决了一个,我们在测试类调用创建子类的对象时,它会把父类的属性一起创建在堆里面的问题。原因就是,默认使用了super()方法。例如下图解释:

碰到的问题:

在存在有参数的构造器时,使用继承的子类必须使用super带参数的关键词?

Java面向对象的学习第二部分_第10张图片

 

笔试题(一个挺棒的例子):

判断非继承方法里面this。和继承方法里面默认使用super()方法的例子。

Java面向对象的学习第二部分_第11张图片

Java面向对象的学习第二部分_第12张图片 

在看看这个面向对象的例子:

这个例子面向不同的对象。分别有不同的属性。那么它的结果是什么,这个例子比较绕。

Java面向对象的学习第二部分_第13张图片

 

一点思考:虽然是旁听生,但这里的题目就不做了吗?不应该的,也是需要做的。这里的作业刚好可以给自己查缺补漏,不要觉得再做这里的作业会让自己的时间变得更短就不做了。我说的变化,就是争取一切能够帮助自己进步更快、更有用的方式去学习。所以,当然要争取变化。!

你可能感兴趣的:(学习)