java面向对象的问题

java面向对象的问题Catc=newCat();newCat()代表对象,而c代表这个对象的引用,那么为什么有人说c是这个对象的实例呢?比如这个题:instanceof... java面向对象的问题Cat c = new Cat();

new Cat()代表对象,而c代表这个对象的引用,那么为什么有人说c是这个对象的实例呢?

比如这个题:
instanceof这个关键字的用法是:A instanceof B ,返回值为boolean类型,用来判断A是否是B的实例对象或者B子类的实例对象。如果是则返回true,否则返回false。
如:Person p = new Person() ;
Man m = new Man() ; //Man是Person的子类
Animal a = new Animal() ;
m instanceof Man //返回true
m instanceof Animal//返回false
m instanceof Person//返回true

这个题,m是new man这个对象的引用,那为什么说是实例对象呢?实例对象不应该是new man吗?
展开
 我来答
句子汇精选
2018-06-22 · TA获得超过434个赞
知道小有建树答主
回答量:708
采纳率:63%
帮助的人:66.6万
展开全部

 类,用于描述多个对象的共同特征,它是对象的模板。

对象,用于描述现实中的个体,它是类的实例。

java面向对象的问题Cat c = new Cat();
new Cat()代表对象,而c代表这个对象的引用,那么为什么有人说c是这个对象的实例呢?

你基本概念理解不透彻呀。

类,用于描述多个对象的共同特征,它是对象的模板。

对象,用于描述现实中的个体,它是类的实例。

对面向对象有了了解之后,我们来说说在具体问题中如何使用面向对象去分析问题,和如何使用面向对象。

我们把大象装冰箱为例进行分析。

在针对具体的需求,可以使用名词提炼的办法进行分析,寻找具体的对象。

需求:把大象装冰箱里

对象:大象、冰箱

分三步:

1、打开冰箱门

2、将大象装进去

3、关闭冰箱门

分析发现打开、装、关闭都是冰箱的功能。即冰箱对象具备如下功能:

冰箱打开

冰箱存储

冰箱关闭

用伪代码描述,上述需求中有两个具体的事物 大象 和  冰箱

描述大象:

class 大象

{

}

描述冰箱

class冰箱

{

void 打开(){}

void 存储(大象){}

void 关闭(){}

}

当把具体的事物描述清楚之后,需要使用这些具体的事物,Java使用具体的事物,需要通过new关键字来创建这个事物的具体实例。

所以当你创建Cat对象的时候,既可以说c是Cat对象的引用也可以说是Cat对象的实例。

l 汽车类

public class Car {

String color;

int number;

void run() {

System.out.println(color + ":" + number);

}

}

通过代码的描述,知道类的真正意义就是在描述事物。属性和功能统称为事物中的成员。

事物的成员分为两种:成员属性和成员功能。

成员属性在代码中的体现就是成员变量

成员功能在代码中的体现就是成员方法

把写好的代码测试一下。需要一个可以独立运行类。

创建对象的格式:

类名 对象名 = new 类名();

测试类

public class CarDemo {

public static void main(String[] args) {

/*

*  测试:Car类中的run方法。

*/

// 1,创建Car的对象。给对象起个名字。

Car c = new Car();// c是类类型的变量。c指向了一个具体的Car类型的对象。

// 2,通过已有的对象调用该对象的功能。格式:对象.对象成员;

// 3,可以该对象的属性赋值。

c.color = "red";

c.number = 4;

c.run();

}

}

如果你还不懂,你可以私信我。

a035505
2018-06-22 · 超过79用户采纳过TA的回答
知道小有建树答主
回答量:268
采纳率:38%
帮助的人:63.5万
展开全部
Cat c = new Cat();是一体的在运行过程中 Cat c创建了一个Cat 类引用变量 右边的“ new Cat();”,是以Cat类为模板,在堆空间里创建一个Cat类对象(也简称为Cat对象)。
末尾的()意味着,在对象创建后,立即调用Cat类的构造函数 “=”操作符使对象引用指向刚创建的那个Cat 对象 这一套完成后 就变成了一个整体 对象 c 代表一个具体的Cat 你说他是对象也好Cat的实例也好 或者引用了new Cat也好都没毛病
追问
麻烦问一下,
m instanceof person为什么是true呢?m不应该是Man的实例对象吗
追答
m是 Man的对象  而Man是Person的子类 串一下 m也是Person的子类对象
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南城旧梦947
2018-06-22 · TA获得超过1197个赞
知道小有建树答主
回答量:674
采纳率:72%
帮助的人:159万
展开全部
当然是B 了 a。比如你要写一个聊天程序,你可以先写一个网络模块的类,以后你想写一个文件传输协议,可以把网络模块拿过来,利用继承等机制,构造出一个新的类。就可以重用以前的代码了~ b。纯C语言就不支持面向对象设计 c。由于面向对象可以设...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式