[javase学习笔记]-6.2 类与对象的关系
这一节我们来看一下类与对象之间的关系。
我们学习java语言,目的就是用java语言对现实生活中的事物进行描写叙述。那么我们如何来描写叙述呢。这就引出了类,我们在实际实现时,是通过类的形式来体现的。
那么对于现实生活中的事物怎样描写叙述呢?
我们在现实生活中对于事物描写叙述通常仅仅关注两个方面,一个是属性,还有一个就是行为。
那么非常自然。计算机的描写叙述就产生出详细的对象。
比方我们要描写叙述一个小汽车。那么我们要怎么描写叙述呢?通过上面关注两个方面,我们非常轻松的从两个方面进行下面描写叙述:
属性:轮胎数,颜色。品牌等等。
行为:启动,执行,熄火等等。
我们用java语言来实现这个描写叙述。用类体现例如以下:
class Car
{
int num;//这是轮胎数属性
String color;//这是颜色属性
String brand;//这是品牌性 void start()
{
System.out.println("小汽车已启动");
}
void run()//这就是执行行为
{
System.out.println(num+"..."+color+"..."+brand);
}
}
上面的代码非常清晰的描写叙述了一个简单的汽车,假设到这里,恭喜你。你的小汽车到手了。(开个玩笑)
通过上面的类我们能够看出,要描写叙述现实生活中的任一事物,仅仅要明白该事物的发生和行为并定义在类中就可以。
那么我们说的对象是什么呢?这里我们给出一个定义,对象事实上就是该类事物实实在在存在的一个个体。
那么类与对象之间的关系是什么样子呢?
类:事物的描写叙述。
对象:该类事物的实例.在java中通过new创建的。
我们看一个測试。来开一开我们自己的小汽车吧。
class CarDemo
{
public static void main(String[] args)
{
//在计算中创建一个car的实例,通过new这个keyword.
Car myCar = new Car();//myCar就是一个类类型的引用变量,指向了该类的对象.
myCar.num = 4;
myCar.color = "red";
myCar.brand = "BWM";
myCar.start();
myCar.run();//要使用对象中的内容,可能通过 对象.成员 的形式来完毕调用.
}
}
通过上面的代码,我们创建了一个小汽车Car的实例,就是说我们制造了一个属于我们自己的宝马小汽车myCar。它有4个轮子,红色,而且我们能够启动它,并开着它出去溜一圈都是不成问题的。
[javase学习笔记]-6.2 类与对象的关系的更多相关文章
- python cookbook第三版学习笔记十:类和对象(一)
类和对象: 我们经常会对打印一个对象来得到对象的某些信息. class pair: def __init__(self,x,y): self.x=x self. ...
- [javase学习笔记]-6.5 类类型參数与匿名对象
这一节我们来说说类类型參数和匿名对象. 我们继续用之前的小汽车类吧 class Car { int num;//这是轮胎数属性 String color;//这是颜色属性 String brand;/ ...
- delphi高手突破学习笔记之面向对象类和对象的本质
知识点1:堆和栈 每个应用程序可以获得的内存空间分为两种:堆(heap)和栈(stack). 堆又称为“自由存储区”,其中的内存空间的分配与释放是必须由程序员来控制的.例如,用GetMem函数获取了一 ...
- delphi高手突破学习笔记之面向对象类和对象的本质(有汇编解释 good)
知识点1:堆和栈 每个应用程序可以获得的内存空间分为两种:堆(heap)和栈(stack). 堆又称为“自由存储区”,其中的内存空间的分配与释放是必须由程序员来控制的.例如,用GetMem函数获取了一 ...
- python cookbook第三版学习笔记十三:类和对象(三)描述器
__get__以及__set__:假设T是一个类,t是他的实例,d是它的一个描述器属性.读取属性的时候T.d返回的是d.__get__(None,T),t.d返回的是d.__get__(t,T).说法 ...
- python cookbook第三版学习笔记十三:类和对象(四)描述器
__get__以及__set__:假设T是一个类,t是他的实例,d是它的一个描述器属性.读取属性的时候T.d返回的是d.__get__(None,T),t.d返回的是d.__get__(t,T).说法 ...
- ES6学习笔记四(类和对象)
{ // 构造函数和实例 class Parent{ constructor(name='mukewan'){ this.name=name; } } let v_parent=new Parent( ...
- python cookbook第三版学习笔记十一:类和对象(二)调用父类的方法
在子类中调用父类的方法,可以下面的A.spam(self)的方法. class A(object): def spam(self): print 'A.spam' class ...
- [第二章]c++学习笔记1(类和对象的基础2)
类的成员函数可和类的定义分开写 类成员的可访问范围(private,public,protected) 具体使用方法 使用例
随机推荐
- 使用spring-boot-starter-data-jpa 怎么配置使运行时输出SQL语句
在 application.properties 中加入以下配置 spring.jpa.show-sql=true
- 浅析微信支付:公众平台卡券功能开通、HTML5线上发券(JS-SDK接口)、查看卡券详情
本文是[浅析微信支付]系列文章的第十六篇,主要讲解如何使用微信公众平台的卡券功能.如何使用HTML5在网页展示用户领券以及微信卡券和商户平台代金券的关系. 浅析微信支付系列已经更新十六篇了哟-,没有看 ...
- HashTable、HashMap、ConcurrentHashMap的区别
HashTable是做了同步的,HashMap未考虑同步.所以HashMap在单线程情况下效率较高:HashTable在的多线程情况下,同步操作能保证程序执行的正确性. HashMap是非线程安全的, ...
- JDK和CGLIB生成动态代理类的区别
关于动态代理和静态代理 当一个对象(客户端)不能或者不想直接引用另一个对象(目标对象),这时可以应用代理模式在这两者之间构建一个桥梁--代理对象. 按照代理对象的创建时期不同,可以分为两种: 静态代 ...
- openstack学习-Horizon安装(八)
一.安装Horizon [root@linux-node2 ~]# yum install -y openstack-dashboard 二.Horizon配置 [root@linux-node2 ~ ...
- 081 Region的预分区
1.预分区的方式 共有四种方式 2.帮助信息 help 'create' 3.第一种方式 4.在页面上查看效果(端口号:60010) 5.第二种方式 )创建文件,并在文件中书写分区的值 )创建表 6. ...
- (转)Java按指定行数读取文件
package test import java.io.File; import java.io.FileReader; import java.io.IOException; import java ...
- 在VS代码中编辑Python
在VS代码中编辑Python Python扩展提供了许多用于在Visual Studio代码中编辑Python源代码的功能: 自动完成和智能感知 在终端中运行选择/行(REPL) 格式化 重构 也见L ...
- Mysql学习(一)添加一个新的用户并用golang操作Mysql
Mysql添加一个新的用户并赋予权限 添加一个自己的用户到mysql 首先我们需要先用root用户登录mysql,但是刚安装完没有密码,我们先跳过密码 ailumiyana@ailumiyana:~/ ...
- 17,EasyNetQ-替换EasyNetQ组件
EasyNetQ是一个由小型组件组成的库. 当你写: var bus = RabbitHutch.CreateBus("host=localhost"); ...静态方法Creat ...