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在设计之初的时候被用来存储字符,可是世界上有那 ...
随机推荐
- EventBus通信小能手
1.EventBus简介 EventBus 是由 greenrobot 组织开发的一个 Android 事件发布/订阅轻量级框架,特点:代码简洁,是一种发布订阅设计模式(观察者设计模式). Even ...
- js,jq获取元素位置属性及兼容性写法
网页被卷起来的高度/宽度 document.documentElement.scrolltop //火狐 和 其他浏览器 document.body.scrolltop //ie,谷歌浏览器和没有 ...
- 【Egret】WebSocket 的使用说明
在Egret里可以使用WebSocket ,也可以使用socket.io 首先先深入了解一下 WebSocket 在Egret里的机制,看这篇文章: 主要讲解Egret里使用WebSocket和pro ...
- CentOS下安装node
下载 wget https://nodejs.org/dist/v7.7.4/node-v7.7.4-linux-x64.tar.gz 解压 tar -zxvf node-v7.7.4-linux-x ...
- js随机模块颜色
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...
- 基于51单片机IIC通信的AT24C02学习笔记
引言 最近在学习几种串行通信协议,感觉收获很多,这篇文章是学习IIC总线协议的第一篇文章,以后还会再写一篇关于PCF8591 IIC通信的ADDA转换芯片的文章. 关于IIC总线 IIC 即Inter ...
- Jquery对raido的一些操作方法
raido 单选组radio: $("input[type=radio][checked]").val(); 获 取一组radio被选中项的值 var item = $('i ...
- MySQL 5.7贴心参数之 log_timestamps
写在前面 使用 MySQL 的过程中,经常会有人碰到这么一个问题,看错误日志.慢查询日志的时候,时间总是和本地时间对不上,差了 8 个小时,这样分析起来就相对麻烦了一些. 新改进 对于不知道是什么原因 ...
- Java 中字两个字符串判断是否相等(转载)
java中判断字符串是否相等有两种方法:1.用"=="运算符,该运算符表示指向字符串的引用是否相同,比如: String a="abc";String b=&q ...
- css3 新属性
一 选择器1 兄弟选择器 0 以第一个选择器开始,往后找满足条件的兄弟节点 class~class() <-- lorem+数字 -tab --> 可以输出默认文字2 属性选择器 标签[a ...