java中一个重要思想:面向对象
面向对象:
1, 面向过程的思想(合适的方法出现在合适的类里面)
准备去一个地方:
先买车, 挂牌, 开导航, 踩油门, 过黄河, 穿越珠穆朗玛峰...
2, 面向对象的思想
我开着车去, 车怎么去随便所有去这个地方的信息, 全部封装在这个车里面, 我不了解这个车是怎么运行的, 我也不需要了解,
我只知道我能到达这个地方就行了面向对象的基本思想是, 从现实世界中客观存在的事物出发, 来构造软件系统, 并在系统的构造中尽可能的运用人类的自然思维方式,
面向对象是目前人与计算机沟通最简单的语言思想
3, 什么是类, 什么是对象?
对象是类的一种实例化, 对象用"属性"和"方法"来对应描述事物所具有的"静态属性"和"动态属性"
类是用于描述同一类形的对象的一个抽象的概念, 类中定义了这一类对象应该具有的"静态属性"和"动态属性"
类可以看成是一类对象的模板, 对象可以看成该类的一个具体实例
举个例子(什么是瓶子-->一类事物的抽象-->静态属性,动态属性)
举个例子(人-->学生-->张三)
什么是类
学生是类, 瓶子是类, 老师是类
什么是对象
这个学生是对象, 这个瓶子是对象, 这个老师是对象, 符合这类事物的特征的某一个东西, 叫对象
领导-->显示职工的姓名
职工:
静态属性:
姓名: 张三
年龄: 24
工资: 3000
动态属性:
显示姓名
显示年龄
修改姓名
领取工资
4, 类与类之间的关系
关联关系(最弱的一种关系):
不好下一个定义, (A类中某个方法的参数是B类的某一个对象)
举个例子(学生<--学校-->老师)
老师要讲课, 这是一个方法, 要传个参数进去, 参数是学生对象
继承关系(避免多重继承)
什么是一种什么
举个例子(运动员-->球类运动员-->篮球运动员)
聚合关系(聚集, 组合)
什么是什么的一部分
举个例子(球队-->(王队长, 队员))
组合----人: 头, 身体
聚集:构成这个类的这部分可以是这个类的, 也可以是另外一个类的,
组合:每一部分只属于一个类
实现关系
接口:只管定义方法, 怎么实现由子类去做
举个例子(接口(开车的方法), A类可以实现, B类也可以实现)
5, java类的定义, 对象和引用
java: 万物皆对象, 处处皆需求
对象是对属性(成员变量, 静态属性)和方法(函数, 动态属性)的封装
java中提供的类, 程序员自己定义的类
面向对象更容易达到一种境界:
Reusable(重用性), Extensibility(可扩展性)
面向组件(Component)--比对象更高层次的抽象
WebService
6.成员变量和局部变量的区别
成员变量的初始化
成员变量可以是java中任意一种数据类型(基础数据类型和引用类型)
成员变量可以初始化, 也可以不初始化(java默认初始化)
成员变量的作用范围-->整个类
引用类型, 见1-6
类和对象的关系
C c1 = new C();
C c2 = new C();// c1, c2在这里是局部变量
package com.maya.test;
public class Person {
//成员变量
public int 身份证号;
public String 姓名;
//成员方法
public void test() {
int i=0;
//局部变量
System.out.println("执行test方法 !");
}
public void test1() {
int n = 身份证号;
}
}
package com.maya.test;
public class Main {
public static void main(String[] args) {--------------引用Person方法
/*
* 当使用new这个关键字的时候,
* 栈:方格-->p--地址指向Person对象
* 堆:方格--Person对象
*/
//new--->实例化
Person p123 = new Person();
//初始化
System.out.println(p123.姓名);
System.out.println(p123.身份证号);
p123.test();
}
}
java中一个重要思想:面向对象的更多相关文章
- 第四节:详细讲解Java中的类和面向对象思想
前言 大家好,给大家带来详细讲解Java中的类和面向对象思想的概述,希望你们喜欢 类和面向对象 在Java中怎样理解对象,创建对象和引用:什么是引用,对于基础学习的同学,要深入了解引用.示例:Stri ...
- Spark小课堂Week7 从Spark中一个例子看面向对象设计
Spark小课堂Week7 从Spark中一个例子看面向对象设计 今天我们讨论了个问题,来设计一个Spark中的常用功能. 功能描述:数据源是一切处理的源头,这次要实现下加载数据源的方法load() ...
- java中一个字符串是另外一个字符串的字串
java中一个字符串是另外一个字符串的字串 String类中有一个方法 public boolean contains(Sting s)就是用来判断当前字符串是否含有参数指定的字符串例s1=“take ...
- java中一个引人深思的匿名内部类
前两天去面试javaweb问到一个问题,在你的项目中有没有用到线程,我特么的一想,这东西不是在c层面的吗,所以说我不了解线程..... 后来回去想啊想啊,我操这特么的不是再问我事物的控制,消息队列的回 ...
- Java中一个线程只有六个状态。至于阻塞、可运行、挂起状态都是人们为了便于理解,自己加上去的。
java中,线程的状态使用一个枚举类型来描述的.这个枚举一共有6个值: NEW(新建).RUNNABLE(运行).BLOCKED(锁池).TIMED_WAITING(定时等待).WAITING(等待) ...
- 为什么Java中一个char能存下一个汉字
在Java中,char的长度是2字节,即16位,2的16次方是65536. 1.如果采用utf-8编码,一个汉字占3个字节,char为什么还能存下一个汉字呢? 参考:https://developer ...
- java中一个数组不能放不同数据类型的值
在java中,数组不能放不同数据类型的值. 方法一: 多态 定义数组类型的时候定义为父类,而存进数组为父类的子类 public class test2 { public static void mai ...
- java中一个查询业务的流程
因为有用到分页,首先建一个page类 1 public class Page<T> { 2 private int pageSize; //每页显示条数 3 private int cur ...
- java 中一个char包含几个字节
背景 char包含几个字节可能记得在上学的时候书上写的是2个字节,一直没有深究,今天我们来探究一下到底一个char多少个字节? Char char在设计之初的时候被用来存储字符,可是世界上有那 ...
随机推荐
- underscore.js,jquery.js源码阅读
(function() { // Baseline setup // -------------- // Establish the root object, `window` in the brow ...
- 使用SevenZipSharp压缩/解压7z格式
7z格式采用的LZMA算法,号称具有现今最高压缩率.笔者在nuget上搜索7z,在搜索结果中最终选择了SevenZipSharp来进行压缩/解压.不得不说,SevenZipSharp的API设计得非常 ...
- 【Spring】BeanFactory解析bean详解
在该文中来讲讲Spring框架中BeanFactory解析bean的过程,该文之前在小编原文中有发表过,要看原文的可以直接点击原文查看,先来看一个在Spring中一个基本的bean定义与使用. pac ...
- 老李分享:robotium常用API 1
老李分享:robotium常用API robotium常用API Robotium中最重要的类Solo类:其中提供了模拟用户活动的点击.搜索.拖拽等方法. 英文api(经常断开连接打不开):htt ...
- Mac 自定义sublime在浏览器中打开的快捷键/win系统理论通用
安装"view in browser"官方版的说明:(前提是得先安装package control插件) 1.通过"ctrl+shift+p"打开命令面板 2. ...
- Hexo + Github Pages 搭建个人博客
之前一直想搭建自己的博客,由于自己的懒惰拖到现在.好了,废话不多说!直接上干货! 安装Node.js 安装Git Github Pages配置 安装Hexo及主题设置 进阶篇-高级定制 其它实用功能 ...
- hdu 2157 How many ways?? (可达矩阵)
题意:给你一个有向图,从A 点到 B点恰好经过k个点的方案数 (k < 20), 可以走重复边 思路:利用离散数学中的可达矩阵,可达矩阵的K次幂便是从i到j走K步能到达的方案数 代码: #inc ...
- android开发之-软件设置保存-快速学会使用SharedPreferences篇-实测
我们在设计软件的时候,需要记录软件设置的基本信息,那么怎么来保存他们呢?我们可以使用SharedPreferences. SharedPreferences是一个xml文件,用来存储软件的常规设置 ...
- java基础之类与对象2
这是上一篇文章的源码................ public class Main 是我创建的一个主类 我的基本操作就在这个类里面完成,public static void main(Strin ...
- 如何在 FineUIMvc 中引用第三方 JavaScript 库
声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 引入第三方颜色选择器 在 FineUIMvc 中使用第三方 JavaScript 遵循一定的约定,也非常简单. 下面以官网示例为 ...