Java面向对象开发

共105课时

课时1 面向对象简介

面向对象是一种程序设计方法,但是并不是所有开发者都认同面向对象,因为很多开发者认为面向对象过于复杂,所以更多人愿意使用函数式编程。

面向对象的前身是面向过程,如果要想笼统地解释这两种开发模型的区别,最好的例子:面向过程是解决问题,而面向对象是模块化设计。对于现在的程序开发,更多情况下就像是汽车组装一样,不同的工厂生产不同的配件。将所有的零件组装在一起,就可以形成一辆汽车,并且当某一个零件坏掉的时候,还可以进行配装。

在面向对象里面实际上还有许多的特点,归结起来有如下三类:

封装性:内部操作对外部而言不可见;

继承性:在上一辈基础上继续发展;

多态性:这是一个最为重要的环节,利用多态性才可以得到良好的设计。

那么在进行面向对象开发的时候也有三个阶段:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。所有的程序开发原则都离不开实际生活,如果从程序开发角度讲,面向对象最大的特征:可以进行生活的抽象。

课时2 类与对象(认识类与对象)

类与对象是整个面向对象设计的核心所在,也是所有概念的基础。类本身属于引用数据类型,所以类的使用上会牵扯到内存的分配问题。

认识类与对象

人们互相可以听懂对方说话,是因为我们具备共同的特征:我们都是中国人,母语都是汉语,而且身体正常。那么具备这些共同特征的人有很多,就自然是一个群体,而群体的特征就是整个类的定义概念。所谓的类描述的就是共性特征。

任何时候只是依靠共性的特征是无法进行精准描述的,那么就需要一些个性化的特点,才可以描述一个个独立的事物。这样就可以推断出:所谓的类指的就是一个共性的概念,而对象指的是一个具体的可以使用的事物。

那么很明显,在实际的开发过程中,一定要首先产生类,然后才可以产生对象,对象的所有操作行为都一定在类中进行了完整定义。类中没有定义的功能,对象一定无法使用。

类中的组成:方法(操作的行为)、属性(变量,描述每一个对象的具体特点)。

课时3 类与对象(类与对象的定义和使用)

如果在程序之中要进行类的定义,可以使用class关键字完成,定义的语法如下:

class name{

//所有程序都要求以“{}”作为分界符

property1 ;

property2 ;

function(){}

}

此时的方法不再由主类直接调用,而使通过对象进行调用。

范例:定义类

class Person{

//定义一个类,类名称每个单词首字母要求大写

String name; //表示人的姓名

int age; //表示人的年龄

public void info(){

System.out.println("name = " + name + "、age = " + age) ;

}

}

在这个类中,只是定义了两个属性和一个方法,特别需要注意的是,类中可以定义的属性和方法数量是没有限制的。而且在编写的过程中,每一个方法中的代码尽量不要特别长。

类定义完成之后是不能直接使用的,如果想要使用类那么必须产生对象,而对象的定义分为以下两种语法形式:

声明并实例化对象:类名称 对象名称 = new 类名称();

分步进行对象实例化:

声明对象:类名称 对象名称 = null ;

实例化对象:对象名称 = new 类名称() ;

引用数据类型的最大特征在于对内存的分配操作,只要出现关键字new,就只有一个解释:开辟新内存(内存是不可能无限开辟的,所以这个时候所谓的性能调优调整的就是内存问题)。

范例:声明并实例化对象

public class TestDemo{

public static void main(String args[]){

//类名称 对象名称 = new 类名称 ;

Person per = new person() ; //此时就表示实例化了一个per对象

per.name = "张三" ; //设置对象中的属性

per.age = 18 ; //设置对象中的属性

per.info() ; //调用类中的方法

}

}

所有对象只有实例化之后才可以真正使用,而对象的使用都是围绕着类进行的,此时有两种形式:

调用类中的属性:对象.属性 = 内容;

调用类中的方法:对象.方法();

以上就实现了一个最基本的类的定义以及对象的使用操作形式。

java公社博客_Java面向对象开发学习笔记(一)相关推荐

  1. java公社博客_Java面向对象开发学习笔记(二)

    课时4 类与对象(对象内存分析) 如果要想进行对象的产生分析,首先就必须清楚引用类型.引用类型指的是内存空间的操作.而对于现在的内存,我们主要使用两块内存空间: 堆内存空间:保存真正的数据,堆内存保存 ...

  2. java公社博客_Java

    1 instanceof 1.1 介绍 instanceof是Java.php的一个二元操作符(运算符),和==,>, 1.2 例子 if(ex instanceof CustomExcepti ...

  3. java公社博客_Java的运算符

    算数运算符 +   -   *   /   %(取余.取模)   ++(自增1)   --(自减1) ++  放在操作数之后,会先取出操作数的值,在进行自增运算 放在操作数之前,会先执行自增运算,然后 ...

  4. java设计博客_JAVA课程设计——团队博客

    JAVA课程设计--团队博客 1. 团队名称.团队成员介绍(需要有照片) 团队名称:"小羊吃蓝莓"小游戏 团队成员介绍: 成员 班级 学号 廖怡洁 网络1513 201521123 ...

  5. java后验条件_JAVA并发实战学习笔记——3,4章~

    JAVA并发实战学习笔记 第三章 对象的共享 失效数据: java程序实际运行中会出现①程序执行顺序对打乱:②数据对其它线程不可见--两种情况 上述两种情况导致在缺乏同步的程序中出现失效数据这一现象, ...

  6. java中线程总结_java中多线程学习笔记总结

    线程的简单学习笔记: 1.进程与线程的概念 进程:从用户角度看进程是应用程序的一个执行过程. 从操作系统核心角度看进程代表的是操作系统分配的内存和CPU时间片等资源的基本单位,是为正在运行的程序提供的 ...

  7. Tiled有java版本吗_【Cocos2d-X开发学习笔记】开发工具之Tiled地图编辑器的使用

    Cocos2D-X支持Tiled地图编辑器生成的地图数据文件.Tiled地图编辑器是一个以广泛使用为目标的地图编辑html 器,它使用简单而且能够轻松地在不一样的引擎中使用.目前最新版本使用Qt框架进 ...

  8. 大牛的博客,跟大牛学习

    今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下(转载于:http://blog.csdn.net/wujxiaoz/article/details/8237096) Android中文Wiki ...

  9. java毕业论文_【毕业论文】基于java的博客网站设计与开发毕业论文(word文档)

    <[毕业论文]基于java的博客网站设计与开发毕业论文.doc>由会员分享,可免费在线阅读全文,更多与<[毕业论文]基于java的博客网站设计与开发毕业论文(word文档)>相 ...

最新文章

  1. 2015数据中心宕机20%是由DDoS攻击引起
  2. 华为nova5ipro的优缺点_华为nova5pro和nova5i的区别
  3. c语言格式字符If,C语言所有语句格式 C语言中的的if语句共有多少种格式?
  4. 软硬件负载均衡器:F5、Array、Nginx、LVS、HAProxy
  5. 关于c#中的string
  6. TUXEDO中间件介绍及应用
  7. 网易云linux版本如何安装包,网易云音乐Linux版提供64位和32位ubuntu16.04安装包
  8. php流水系统,php流水账txt数据库版
  9. 小米HTML查看器记住密码,小米路由器 SSH 密码计算工具,开启小米SSH访问
  10. 文本分类上分利器: Bert微调trick大全
  11. Python手册(Machine Learning)--statsmodels(列联表和多重插补)
  12. 2015年中国数据库技术大会(DTCC)PPT合集
  13. 利用Python求解八数码难题
  14. 曝光的原理 自动曝光
  15. 设计模式之禅学习总结
  16. Oracle根据时间查询
  17. 景观生态学原理| 2 景观生态学的理论与核心
  18. 德语语法笔记——连词
  19. Google 和 Meta 正在接受欧盟和英国反垄断监管机构对”Jedi Blue”的调查
  20. [附源码]java毕业设计企业职工福利发放管理系统

热门文章

  1. 解决MySQL--发生系统错误 1069。 由于登录失败而无法启动服务。
  2. 拉勾教育《产品经理高薪训练营》课程思维导图
  3. 移动互联网思维的5F法则
  4. 网络搭建与应用2022国赛环境无误版
  5. web网页设计期末课程大作业:环境保护主题网站设计——农业三级带表单带js(14页)HTML+CSS+JavaScript
  6. 零基础怎么建模?超详细建模教程——第一期
  7. 杰理AC692X---开关机实现方式介绍
  8. python写抽奖转盘_python实现转盘效果 python实现轮盘抽奖游戏
  9. 刷机时代落幕——刷机现状、原理及方法步骤
  10. 个人号的微信API接口,微信机器人二次开发