码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象

时间:2017-11-18 17:34:57      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:覆盖   定义类   string   tostring   不能   没有   创建   是什么   地址   

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

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

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

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


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

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

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



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



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

toString方法重写

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

 

面向对象

标签:覆盖   定义类   string   tostring   不能   没有   创建   是什么   地址   

原文地址:http://www.cnblogs.com/finsky/p/7857321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!