面向对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象相关的知识,希望对你有一定的参考价值。

理论题
什么是类?
类是一组具有相同属性、操作和关系的同类事物描述,是抽象的,概念上的定义。

什么是对象?
是实际存在的该类事物的个体,也称为实例。

类和对象的区别是什么?
类是集合、是抽象的、是制造对象的模板、是数据结构和行为的定义。
对象是个体、是具体、是类的实例、是数据。

如何定义一个类、类的属性和方法?
定义类属性,对象共同的特征,共同的行为是方法。
public class 类名{} 定义一个类


如何创建类的对象?
类名 对象名 = new 类名()

构造方法有什么作用?
构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法。

通过构造方法实例化对象的时候有什么特点?
如果不添加带参数的构造方法,那么默认只能使用无参数的构造方法,如果加了带参数的构造方法,而没有添加无参数的构造方法,则只能使用带参数的构造方法,如添加的无参数构造方法,又添加了带参数构造方法,则带参数构造方法会覆盖无参数构造方法。



能否使用==进行两个对象的比较?
不能,== 是回进行地址空间的比较的。对象的地址空间都是不同的。



== 和 equals的区别?【重点】
equals和== 最大的区别是一个是方法一个是运算符,二者比较的都是物理地址,equals方法如果在类中没有定义则默认使用OBJ的equals方法。也是比较物理地址。
所以如果要实现我们的目的,equals方法都是由开发者来重写。

toString方法重写

toString 如在类中没有定义,默认使用祖类(obj)的方法。输出地址空间,所以需要重写toString方法,以输出我们想要的结果

 

以上是关于面向对象的主要内容,如果未能解决你的问题,请参考以下文章

224 面向对象编程介绍,面向过程与面向对象

面向对象-面向对象和面向过程的区别

面向对象分析与设计面向对象设计包括哪些内容

面向对象

面向过程面向对象及面向对象的三大特征

Python面向对象学习 1 (什么是面向对象,面向对象的应用场景)