面向对象编程
面向对象是一种程序设计方法,使用对象和类等基本概念来进行程序设计,是一种符合人类思维习惯的编程思想。
类:是对现实世界事物的抽象定义,是对某类事物的描述。(类的成员包括属性和方法)
对象:是类的实例。

一、面向对象设计的核心技术

面向对象程序设计的核心技术主要是封装、继承和多态性。

  • 封装

类是封装的基本单元。通过封装可以隐藏类的实现细节,也可以避免对类中属性的直接操作。可以通过类的公共接口访问类中的变量,而不必知道这个接口的具体实现方式。只要这个方法的名字和参数不变,即使类中的变量被重新定义,或方法的代码被修改,对类中的变量的访问也不会受到影响。比如,你在计算机上安装了一个声卡,你不必知道声卡的内部结构,也不必知道功能如何实现的,因为实现声卡功能的继承电路被封装了。你只要知道声卡应该装在电脑主板的什么位置,其他的设备如音箱,光驱怎样和声卡连接就可以了。

  • 继承

继承是对类的功能的重用和扩充。通过对某一个类的继承产生一个新的子类,子类既有从某个类中继承下来的功能,又可以自行定义自己的变量和方法,产生新的功能。

  • 多态性

多态性指的是方法的名字相同,但实现不同。即“同一接口,多个方法”。如有三个方法,分别用来计算圆、矩形、三角形面积,他们的名字可以都叫做area。

二、类的结构

Java是一种完全面向对象对程序设计语言。他所有的属性类型和方法都封装在类中,Java继承了C++的有点,但放弃了那些含糊,复杂和容易出错的特性。Java所实现的面向对象的特性,降低了程序的复杂性,实现了代码的可重用性,提高了运行效率。

  • 类的声明格式

[修饰符]class 类名 [extends 超类名][implements 接口名]

类主体

修饰符包含访问权限有两种,要么默认,要么public。如果在一个源文件中有多个类的话,只能有一个类的权限可以是public,其余的类的权限必须是默认。public类的名字应该和文件同名,同时main函数也要放在该类中。Java中public权限指所有的类都可以访问,而默认的访问权限则是指只允许同一个包的类进行访问。

        final:final修饰的类为最终类,这种类不能被继承。

     abstract:抽象类,不能实例化

  • 成员变量

[修饰符][static][final][transient] 变量类型 变量名;

修饰符:默认的,public,protected,private

static:静态变量

final:常量

transient:临时变量

  • 成员方法

[修饰符]返回类型 方法名(参数表)[throws <异常类>]

{

方法体;

}

这里的修饰符包含访问权限,共有四种,即:默认的,public,protected,private。

        static:静态方法

        abstract:抽象方法(无方法体的方法)

        final:最终方法(不能被子类继承的方法)

        throws:抛出异常

  • 访问权限的说明

public:所有的类都能访问

protected:不同包的子类可以访问

默认:同一包能访问

private:同一类可以访问

三、对象的构造和初始化以及对象的销毁

  • 构造方法

构造方法没有返回值,且构造方法的名字应该和这个类一致。

例如:Date(int m,int n){...}

在创建对象的时候会自动调用相应的构造方法。

  • 对象的销毁

对象的生命周期是指对象的创建、使用和销毁这一过程。对象的销毁是指当对象使用完成后,释放对象占用的资源。

Java能自动判断对象是否在使用,并自动销毁不在使用的对象,收回对象所占用的资源。在这种模式下我们并不知道对象销毁的具体时间。

此外,我们可以在程序中定义finalize()方法,使得对象在销毁之前执行该方法。该方法的基本格式如下:

[修饰符]void finalize(){}

java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。

(1).对象不一定会被回收。

(2).垃圾回收不是析构函数。

(3).垃圾回收只与内存有关。

(4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃圾回收的。

java面向对象程序设计相关推荐

  1. 20155328 《Java程序设计》 实验二(Java面向对象程序设计) 实验报告

    20155328 <Java程序设计> 实验二(Java面向对象程序设计) 实验报告 单元测试 一.单元测试和TDD 编程时需理清思路,将编程需求等想好,再开始编.此部分可用伪代码实现. ...

  2. java面向对象程序设计第三版_JAVA面向对象程序设计之创建型设计模式

    [本文详细介绍了JAVA面向对象程序设计中的创建型设计模式,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 1.1 什么是设计模式 设计模式( Design pattern )是一套被反复使用.多数 ...

  3. 20175333曹雅坤 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

  4. 20145122《Java面向对象程序设计》实验二实验报告

    实验名称: Java面向对象程序设计 实验内容: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 PSP时间 步骤 ...

  5. Java第二次实验报告——Java面向对象程序设计

    北京电子科技学院(BESTI) 实    验    报    告 课程名称:java程序设计实验      班级:1352         姓名:洪韶武      学号:20135219 成绩:   ...

  6. java程序面向对象show,20165309 实验二 Java面向对象程序设计

    2017-2018-2 20165309实验二<Java面向对象程序设计>实验报告 一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初 ...

  7. 20155201 实验四《Java面向对象程序设计》实验报告

    20155201 实验四<Java面向对象程序设计>实验报告 一.实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局 ...

  8. java构成对象的三要素_20155237 《JAVA程序设计》实验二(JAVA面向对象程序设计)实验报告...

    20155237 <JAVA程序设计>实验二(JAVA面向对象程序设计)实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S ...

  9. 2016-2017-2 20155117实验二《Java面向对象程序设计》实验报告

    实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 1.参考Intellj IDEA 简易教程 提交 ...

  10. 20145207《Java程序设计》实验二(Java面向对象程序设计)实验报告

    <Java程序设计>实验二(Java面向对象程序设计)实验报告 目录 改变 Java面向对象程序设计实验要求 实验成果 课后思考 改变 看了下之前实验二的整体,很搞笑,大图+代码,没了.. ...

最新文章

  1. JQ中$(window).load和$(document).ready()使用,区别与执行顺序
  2. Linux服务器集群系统(二)--转
  3. 一般计算机系统中的文件系统采用,南昌大学2001年考研专业课试卷操作系统A
  4. 前端学习(3139):react-hello-react之生命周期组件挂载过程
  5. 两个日期之间相差的天数
  6. 从源代码中加载res / values / dimension.xml中的维度值
  7. [MyBatis]诡异的Invalid bound statement (not found)错误
  8. 插入排序---直接插入排序算法(Javascript版)
  9. Beego使用AdminLTE
  10. 打印1000张大概多少钱,打印费多少钱一张
  11. 网页设计Dreamweaver【2】
  12. 最佳学习方法(10)学习方法介绍
  13. 因果系列文章(1):因果推断及相关论文
  14. html5 Doctor——教你规范使用html5标签
  15. OSChina 周二乱弹 —— 你一辈子都不可能跟她这么亲近
  16. Android之调节屏幕亮度
  17. 042期正版四字梅花诗:冰清一洁
  18. 网站SEO优化核心5要素
  19. 「团队训练赛」2021 Jiangsu Collegiate Programming Contest题解
  20. CSS 解决火狐浏览器打印时,背景颜色丢失的问题

热门文章

  1. 从程序员到合格的软件设计师
  2. 【省选模拟】20/04/18
  3. 长文解析Resnet50的算法原理
  4. java发送带附件的电子邮件
  5. 非常好的油画制作软件ArtRage.v2.11
  6. select的使用及缺陷
  7. 安卓加密软件_U盘或者文件夹加密
  8. 2016版excel_在抱怨加班之前,先看看你有没有熟练使用这13个Excel大神技巧?
  9. UE4 C++如何关闭进程?
  10. 免费音效素材,拿走不谢。