黑马程序员——java语言基础——面向对象

---------------------- android培训、java培训、期待与您交流! ---------------------- 

类就是:对现实生活中事物的描述。

对象:就是这类事物,实实在在存在个体。

描述事物其实就是在描述事物的属性和行为。

 

如何定义类——————

//需求:描述汽车(颜色,轮胎数)。描述事物其实就是在描述事物的属性和行为。

//属性对应是类中变量,行为对应的类中的函数(方法)。

//其实定义类,就是在描述事物,就是在定义属性和行为。属性和行为共同成为类中的成员(成员变量和成员方法)。

class Car

{

       //描述颜色

       String color = "红色";

       //描述轮胎数

       int num = 4;

 

       //运行行为。

       void run()

       {

               System.out.println(color+".."+num);

       } 

}

 

面向对象——————

:三个特征:封装,继承,多态。

//以后开发:其实就是找对象使用。没有对象,就创建一个对象。

//找对象,建立对象,使用对象。维护对象的关系。

/*

类和对象的关系。

现实生活中的对象:张三 李四。

想要描述:提取对象中共性内容。对具体的抽象。

描述时:这些对象的共性有:姓名,年龄,性别,学习java功能。

 

 

映射到java中,描述就是class定义的类。

具体对象就是对应java在堆内存中用new建立实体。

 

类就是:对现实生活中事物的描述。

对象:就是这类事物,实实在在存在个体。

//需求:描述汽车(颜色,轮胎数)。描述事物其实就是在描述事物的属性和行为。

 

//属性对应是类中变量,行为对应的类中的函数(方法)。

//其实定义类,就是在描述事物,就是在定义属性和行为。属性和行为共同成为类中的成员(成员变量和成员方法)。

/*

成员变量和局部变量————————

作用范围。

成员变量作用于整个类中。

局部变量变量作用于函数中,或者语句中。

在内存中的位置:

成员变量:在堆内存中,因为对象的存在,才在内存中存在。

局部变量:存在栈内存中。

*/

 //匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。

              //如果对一个对象进行多个成员调用,必须给这个对象起个名字。

              //匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。

 /*

private :私有,权限修饰符:用于修饰类中的成员(成员变量,成员函数)。

私有只在本类中有效。

 

将age私有化以后,类以外即使建立了对象也不能直接访问。

但是人应该有年龄,就需要在Person类中提供对应访问age的方式。

 

注意:私有仅仅是封装的一种表现形式。

 

之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等语句。

对访问的数据进行操作。提高代码健壮性。

 */

构造函数——————

一个对象建立,构造函数只运行一次。

而一般方法可以被该对象调用多次。

 

什么时候定义构造函数呢?

当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。

/*

       很多面试题(关于程序运行结果,运行先后顺序)

       构造代码块。

       作用:给对象进行初始化。

       对象一建立就运行,而且优先于构造函数执行。

       和构造函数的区别:

       构造代码块是给所有对象进行统一初始化,

       而构造函数是给对应的对象初始化。

 

       构造代码快中定义的是不同对象共性的初始化内容。

 

       */

This 关键字————

 /*

this:看上去,是用于区分局部变量和成员变量同名情况。

this为什么可以解决这个问题?

this到底代表的是什么呢?

 

this:就代表本类的对象,到底代表哪一个呢?

       this代表它所在函数所属对象的引用。

       简单说:哪个对象在调用this所在的函数,this就代表哪个对象。

  

this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。

              但凡本类功能内部使用了了本类对象,都用this表示。

/*

this语句 :用于构造函数之间进行互相调用。

 

this语句只能定义在构造函数的第一行。因为初始化要先执行。

*/

---------------------- android培训、java培训、期待与您交流! ---------------------- 

转载于:https://www.cnblogs.com/heima-jieqi/archive/2012/04/05/2433793.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

只会纯硬件,让我有点慌

纯硬件产品在市面上现在很少了,大多都带有单片机,比如智能路灯,智能门禁,智能家居等等。为了提高竞争力,单片机相关知识的学习必不可少。给大家推荐一本龙顺宇老师的新书《深入浅出STC8增强型51单片机进阶攻略》。&…

Expression Blend 学习视频下载

微软Expression Blend功能介绍Microsoft Expression Blend—一个全新的,全功能的职业设计工具,用于创造基于Microsoft Windows平台的丰富、复杂的应用界面。使用 Expression Blend, 可以提供更出色的应用软件并提升客户的体验和满意度。Expression Blend…

1、绪论初识机器学习

什么是机器学习? 机器学习是通过数据或者经验,优化计算机程序等性能标准,自动改进计算机的算法,以达到解决未知问题的目标 监督学习 计算机通过学习一组有标签的信息来对从未见过对数据做出有用对预测 监督学习的代表算法&#xf…

NSLog的常用格式说明小释

NSLog的格式如下所示: % 对象%d, %i整数%u 无符整形%f 浮点/双字 %.nf 带有n小数点的浮点/双字%x, %X二进制整数%o 八进制整数%zu size_t %p 指针%e 浮点/双字 (科学计算) %g 浮点/双字%s C字符串%.*s Pascal字符串%c 字符%C unichar %lld 64位长整数(long long) %llu 无符64位…

感觉自己好傻

前几天,一个微信微信朋友找我聊天。他在一家公司工作了4年多,但是这四年基本没有什么技术上的提升,做的事情也一些打杂的事情,核心技术在芯片原厂,软件SDK也是别人写好的,他能做的就是对接客户,…

一名老工程师的感言

[1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院 士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐 渐对该…

Python之OS模块进程管理介绍--os.fork()

转自:http://davidbj.blog.51cto.com/4159484/1240586 有两种方式来实现并发性,一种方式是让每个“任务"或“进程”在单独的内在空间中工作,每个都有自已的工作内存区域。不过,虽然进程可在单独的内存空间中执行,…

洛谷 P1272 重建道路

题目链接 题解 树形dp \(f_{i, j}\)表示以\(i\)为根的子树切出联通块大小为\(j\)的最小答案 显然\(f[i][1]\)为与\(i\)连的边数 设\(v\)是\(u\)的儿子 那么有\(f[u][i]f[u][i-j]f[v][j]-2\)&#xff0c;因为\(u->v\)这条边算了两次 注意\(i\)要从大到小枚举Code #include<…

网盘是否能做一只安全的企业信息快递手

近期&#xff0c;某电商网站出现的用户账户被盗刷事件再次将信息安全问题推至风头浪尖之上。事实上&#xff0c;需要信息安全感的&#xff0c;不单单是个人&#xff0c;企业更甚。据悉&#xff0c;对安全规则和数据泄露的担忧成为了目前企业采纳云存储平台的重要障碍。 网盘&am…

图形处理单元(GPU)的演进

CPU 和 GPU好久没有更新了&#xff0c;最近在阅读 CUDA 相关的一些论文&#xff0c;因为都是碎片化阅读&#xff0c;容易导致读过后&#xff0c;可能过一段时间又忘记掉&#xff0c;所以决定抽时间翻译翻译阅读的论文&#xff0c;一方面增强自己记忆&#xff0c;一方面与大家共…

TCP通信过程大讨论

转载地址&#xff1a;http://www.cricode.com/3568.html 本文通过两个图来梳理TCP-IP协议相关知识。TCP通信过程包括三个步骤&#xff1a;建立TCP连接通道&#xff0c;传输数据&#xff0c;断开TCP连接通道。如图1所示&#xff0c;给出了TCP通信过程的示意图。 图1 TCP 三次握手…

Stream、FileStream、MemoryStream的区别

1.Stream&#xff1a;流&#xff0c;在msdn的定义&#xff1a;提供字节序列的一般性视图&#xff0c;Stream提供了读写流的方法是以字节的形式从流中读取内容。而我们经常会用到从字节流中读取文本或者写入文本&#xff0c;微软提供了StreamReader和StreamWriter类帮我们实现在…

Android 自定义View以及ValueAnimator学习

2019独角兽企业重金招聘Python工程师标准>>> 看了ApiDemo里面的BoucingBall&#xff0c;觉得挺好的&#xff0c;所以特地学习了一下&#xff0c;将代码注释后贴到这里&#xff0c;以便以后学习。 class BallView extends View implements ValueAnimator.AnimatorUpd…

百万记录级MySQL数据库及Discuz!论坛优化

最近&#xff0c;帮一个朋友优化一个拥有20万主题&#xff0c;100万帖子&#xff0c;3万多会员&#xff0c;平均在线人数2000人的Discuz!论坛&#xff0c;采用Linux2.6Apache2mod_php5MySQL5&#xff0c;服务器配置为双至强4G内存&#xff0c;优化前&#xff0c;系统平均负载&a…

固件工程师到底是干什么?

大家好&#xff0c;我是写代码的篮球球痴可能大家还不知道&#xff0c;我是一个写固件的工程师&#xff0c;今天和一个微信朋友聊天&#xff0c;他问我工作几年了&#xff0c;我说我工作10年了&#xff0c;而且这10年我都一直在从事嵌入式固件相关的工作。他猛的觉得很不可思议…

c++ STL 工程实践的15条建议

STL是c非常重要的一部分&#xff0c;它是很多大神的杰作&#xff0c;高效&#xff0c;稳定&#xff0c;可扩展性好&#xff0c;虽然STL确实存在难以调试&#xff0c;内存碎片的问题&#xff08;现在机器的内存越来越大&#xff0c;内存碎片的问题基本不太可能成为系统瓶颈&…

JS中关于构造函数、原型链、prototype、constructor、instanceof、__proto__属性

在Javascript不存在类&#xff08;Class&#xff09;的概念&#xff0c;javascript中不是基于类的&#xff0c;而是通过构造函数&#xff08;constructor&#xff09;和原型链&#xff08;prototype chains&#xff09;实现的。但是在ES6中引入了Class&#xff08;类&#xff0…

asp 下载函数

N久没搞ASP啦,今天一个网友问到这个问题.就在网上找了下. 也不知道这个有没有错误. 下载的基本思路是这个样子的. 代码如下: <%Const USE_STREAM 0 0.不用流(Adodb.Stream)下载 1.用流下载Const ALLOW_FILE_EXT "rar,zip,chm,doc,xls,swf,mp3,gif,jpg,jpeg,png,bmp&q…

如何实现按键的短按、长按检测?

在电子产品中经常用到按键&#xff0c;尤其是经常需要MCU判断短按和长按这两种动作&#xff0c;本篇我们来专门聊下这个话题。只谈理论太无聊&#xff0c;我们还是结合着实际应用来说明。之前写过一篇关于《CH573第一篇&#xff1a;实现自拍杆蓝牙遥控器1》的文章&#xff0c;例…

ECC内存简介

ECC内存&#xff0c;即应用了能够实现错误检查和纠正技术&#xff08;ECC&#xff09;的内存条。一般多应用在服务器及图形工作站上&#xff0c;这将使整个电脑系统在工作时更趋于安全稳定。ECC是“Error Checking and Correcting”的简写&#xff0c;中文名称是“错误检查和纠…