博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象
阅读量:4438 次
发布时间:2019-06-07

本文共 774 字,大约阅读时间需要 2 分钟。

理论题

什么是类?
类是一组具有相同属性、操作和关系的同类事物描述,是抽象的,概念上的定义。
什么是对象?
是实际存在的该类事物的个体,也称为实例。

类和对象的区别是什么?

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

如何定义一个类、类的属性和方法?

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

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

通过构造方法实例化对象的时候有什么特点?

如果不添加带参数的构造方法,那么默认只能使用无参数的构造方法,如果加了带参数的构造方法,而没有添加无参数的构造方法,则只能使用带参数的构造方法,如添加的无参数构造方法,又添加了带参数构造方法,则带参数构造方法会覆盖无参数构造方法。

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

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

toString方法重写

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

 

转载于:https://www.cnblogs.com/finsky/p/7857321.html

你可能感兴趣的文章
线段树
查看>>
LLVM提议向C语言中加入模块机制
查看>>
免费学习视频
查看>>
Winodws10 &system进程占用磁盘100%
查看>>
css样式优先级
查看>>
遇见未知的自己
查看>>
js中return;、return true、return false;区别
查看>>
关于list的一些作业
查看>>
bzoj 2818: Gcd
查看>>
bzoj千题计划316:bzoj3173: [Tjoi2013]最长上升子序列(二分+树状数组)
查看>>
JDK1.8之后匿名内部类访问方法中的局部变量不用加final修饰
查看>>
九度oj题目1521:二叉树的镜像
查看>>
java运行时内存分类
查看>>
为什么说 Git 比 SVN 更好
查看>>
CSS的定位和浮动
查看>>
Storm启动流程分析
查看>>
C++11中lock_guard和unique_lock的区别
查看>>
解决find命令报错: paths must precede expression
查看>>
LVS 手册学习
查看>>
Lua's performance
查看>>