JAVA学习(五):Java面向对象编程基础
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面向对象编程基础的更多相关文章
- java学习笔记15--多线程编程基础2
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...
- java学习笔记14--多线程编程基础1
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为 ...
- 零基础学Java第五节(面向对象一)
本篇文章是<零基础学Java>专栏的第五篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 本文章首发于公众号[编程攻略] 类与对象 在哲学体系中,可以分为主 ...
- 面向对象编程基础(java)
面向对象编程基础 1.1 面向对象概述 在程序开发初期,大家使用的是结构化开发语言,也就是面向过程(opp),但随着市场需求剧增,软件的规模也越来越大,结构化语言的弊端也暴露出来. 开发周期无休止的拖 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- Java面向对象编程基础
一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...
- 大数据技术之_16_Scala学习_04_函数式编程-基础+面向对象编程-基础
第五章 函数式编程-基础5.1 函数式编程内容说明5.1.1 函数式编程内容5.1.2 函数式编程授课顺序5.2 函数式编程介绍5.2.1 几个概念的说明5.2.2 方法.函数.函数式编程和面向对象编 ...
- java学习之路之javaSE基础1
<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...
- Java学习笔记之---面向对象
Java学习笔记之---面向对象 (一)封装 (1)封装的优点 良好的封装能够减少耦合. 类内部的结构可以自由修改. 可以对成员变量进行更精确的控制. 隐藏信息,实现细节. (2)实现封装的步骤 1. ...
随机推荐
- jdk动态代理(转)
一旦这样绑定后,那么在进入代理对象方法调用的时候就会到HelloServiceProxy的invoke方法上,invoke方法有三个参数:第一个proxy是代理对象,第二个是当前调用那个方法,第三个是 ...
- HDU 2686 Matrix(最大费用最大流+拆点)
题目链接:pid=2686">http://acm.hdu.edu.cn/showproblem.php?pid=2686 和POJ3422一样 删掉K把汇点与源点的容量改为2(由于有 ...
- 【转载】Select函数实现原理分析
Select函数实现原理分析 <原文> select需要驱动程序的支持,驱动程序实现fops内的poll函数.select通过每个设备文件对应的poll函数提供的信息判断当前是否有资源可用 ...
- JDBC连接mysql增删改查整体代码
第一种比较low:用了statment,没有用preparedstatement.另外,插入时,不灵活,不能调用参数,但是如果直接给函数形参的话就会被SQL注入攻击,所以,最好在sql语句中使用?代表 ...
- JavaScript 没有函数重载&Arguments对象
对于学过Java的人来说.函数重载并非一个陌生的概念,可是javaScript中有函数重载么...接下来我们就进行測试 <script type="text/javascript&qu ...
- JAVA设计模式之【组合模式】
组合模式 用面向对象的方式来处理树形结构 组合多个对象形成树形结构以表示具有"整体-部分"关系的层次结构. 在组合模式中引入了抽象构件类Component,它是所有容器类和叶子类的 ...
- ThinkPHP5.0框架开发--第2章 TP5.0架构
ThinkPHP5.0框架开发--第2章 TP5.0架构 第2章 TP5.0架构 ================================================== 上次复习 1.如 ...
- hdoj--1016--Prime Ring Problem(递归回溯)
Prime Ring Problem Time ...
- Laravel-redis-订阅发布
Laravel-redis-订阅发布 标签(空格分隔): php Redis订阅发布 理解订阅发布: publish:将信息 message 发送到指定的频道 channel publish test ...
- div内快元素[div,p。。。]居中办法
方法1: .parent { width:800px; height:500px; border:2px solid #000; position:relative; } .child { width ...