Java面向对象编程基础

面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它採用数据抽象信息隐藏技术,来使软件开发简单化,以达到代码重用的目的。

1、OOP的3个特性(封装、继承和多态性)

封装是类的基础。指把类的相关实现细节隐藏起来,在类中将数据和实现操作的代码集中起来放在对象的内部。调用这些类时仅仅需直接使用类预留的接口就能够了。

继承提供了子类自己主动拥有父类数据结构和方法的机制。它表示类之间的一种关系。

多态指使一个对象被看成还有一个对象的技术。即同样的操作或函数、过程可作用于多种类型的对象上,并获得不同的结果。

2、类、对象、方法

:具有同样特性(数据元素)和行为(功能)的对象的抽象就是类。即对象的抽象是类。类的详细化就是对象,或者说类的实例就是对象。(类是一个概念模型,类是构造面向对象程序的基本单位)

对象:一切皆是对象。(对象是真实的实体)

方法:对象运行的操作称为类的方法。

3、构造方法与析构方法

构造方法是类的一种特殊方法。用来初始化类的一个新的对象。

JAVA中的每一个类都有一个默认的构造方法,它必须具有与类名同样的名称。并且没有返回类型。构造方法的默认返回类型就是对象的类型本身,并且构造方法不能被static/final/synchronized/abstract/native修饰。

析构方法与构造方法相反,当对象脱离其作用域时(比如对象所在的方法已调用完成),系统自己主动运行析构方法,析构方法往往用来做清理碎片的工作。

在JAVA的Object类中还提供一个protected类型的finalize()方法。因此不论什么java类都能够覆盖这种方法,在这种方法中进行释放对象所占有的相关资源的操作。

java中面向对象编程的笔记例如以下图:

最后给出演示样例代码:

/******************************************************
* "定义类"——怎样定义一个类*/
public class Oopbasic //声明一个类
{
private String name; //编写类的属性
private int age; //编写类的属性
public void tell() { //编写类的方法(无返回參数)
System.out.println(name+"今年"+age+"岁!");
}
public int returnMax(int a,int b) { //编写类的方法(有返回參数)
return Math.max(a, b);
}
public static void main(String [] args) { //主函数
Oopbasic fa=new Oopbasic();//创建一个实例,即对象
fa.name="Fred";
fa.age=10;
fa.tell();
int x=12,y=15;
int zuida = fa.returnMax(x, y);
System.out.println("MAX="+zuida);
}
}

JAVA学习(五):Java面向对象编程基础的更多相关文章

  1. java学习笔记15--多线程编程基础2

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...

  2. java学习笔记14--多线程编程基础1

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为 ...

  3. 零基础学Java第五节(面向对象一)

    本篇文章是<零基础学Java>专栏的第五篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 本文章首发于公众号[编程攻略] 类与对象 在哲学体系中,可以分为主 ...

  4. 面向对象编程基础(java)

    面向对象编程基础 1.1 面向对象概述 在程序开发初期,大家使用的是结构化开发语言,也就是面向过程(opp),但随着市场需求剧增,软件的规模也越来越大,结构化语言的弊端也暴露出来. 开发周期无休止的拖 ...

  5. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  6. Java面向对象编程基础

    一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...

  7. 大数据技术之_16_Scala学习_04_函数式编程-基础+面向对象编程-基础

    第五章 函数式编程-基础5.1 函数式编程内容说明5.1.1 函数式编程内容5.1.2 函数式编程授课顺序5.2 函数式编程介绍5.2.1 几个概念的说明5.2.2 方法.函数.函数式编程和面向对象编 ...

  8. java学习之路之javaSE基础1

    <h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...

  9. Java学习笔记之---面向对象

    Java学习笔记之---面向对象 (一)封装 (1)封装的优点 良好的封装能够减少耦合. 类内部的结构可以自由修改. 可以对成员变量进行更精确的控制. 隐藏信息,实现细节. (2)实现封装的步骤 1. ...

随机推荐

  1. 【Codeforces Round #476 (Div. 2) [Thanks, Telegram!] A】Paper Airplanes

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 统计每个人需要的sheet个数. 乘上k 然后除p就是需要的pack个数了 [代码] #include <bits/stdc+ ...

  2. NYIST 1107 最高的奖励

    最高的奖励 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 请问:挖掘机技术哪家强?AC了告诉你! 给你N(N<=3*10^4)个任务,每个任务有一个截止完成时 ...

  3. Android之——自己定义TextView

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47082241 在这一篇博文中,将向大家介绍怎样以最简单的方式,来自己定义Andro ...

  4. Binary operations #1

    https://www.codewars.com/kata/binary-operations-number-1/train/csharp Your work is to write a method ...

  5. oracle 11g RAC 的一些基本概念

    一.脑裂以及对策 脑裂(split-brain)是集群中的一个糟糕的情况:集群中的所有集群正在工作的时候,内部通讯被断开.这种情况下,集群被分成了几个部分,每个部分的集群软件都会尝试去接管其他节点的资 ...

  6. JavaScript实现记住密码功能

    用js实现记住密码功能,但是前端记住密码不安全,最好还是不要用.我感觉这个记住密码应该是通过与后台建立一个会话来实现. 这个效果的测试地址在:http://ofoyou.com/blog/rePass ...

  7. MySQL学习(二)——SQL语句创建删除修改以及中文乱码问题

    一.对数据库的操作 1.创建一个库 create database 库名; 创建带有编码的:create database 库名 character set 编码; 查看编码:show create ...

  8. OpenGL编程(六)通过三角形绘画出3D模型

    使用三角形绘制3D模型 三角形是基本的多边形,任何多变形都能由三角形组成.三角形是由三个顶点的连线组成.三个点分别是v0:v1:v2. 1.绕法 从某个顶点开始,有两种连线的方法,顺时针和逆时针,这是 ...

  9. hiho 1617 - 方格取数 - dp

    题目链接 描述 给定一个NxN的方格矩阵,每个格子中都有一个整数Aij.小Hi和小Ho各自选择一条从左上角格子到右下角格子的路径,要求路径中每一步只能向右或向下移动,并且两条路径不能相交(除了左上右下 ...

  10. QT笔记 -- (3) 为QLabel添加鼠标响应方法1

    参考 http://qt-project.org/wiki/Make-a-QLabel-Clickable 1.首先重载QLabel的mousePressEvent,这样点击QLabel时就能发出cl ...