javaSE核心技术-面向对象基础

面向过程编程思想

面向过程的抽象是将实现一个功能的一组命令组合成为一个函数,这个函数就能实
现这一个功能,是对功能实现的一种抽象,有了函数,我们就没有必要重复写很多
的代码(特殊地譬如递归,可通过循环替代),仅仅一个代码集合名称以及参数就能
调用抽象的命令集合。

面向对象编程包括

面向对象的分析(OOA,Object Oriented Analysis)
面向对象的设计(OOD,Object Oriented Design)
面向对象的编程实现(OOP,Object Oriented Programming)
面向对象编程思想实际上就是一种运用对象、类、继承、封装、聚合、关
联、消息、多态性等概念来构造系统的软件开发方法。
实现


图片.png

分析系统中涉及的事务,根据“对象”抽象出“类”;
找出对象共有的特点,并且在类中定义为属性;
找出对象共有的行为,并且定义为类的方法。

面向对象概念

-抽象(动词)
-对象
-类:类是一组具有相同属性和行为的对象的抽象,类的作用是用来创建对象,对
象是类的一个实例
-类和对象的关系
抽象和具体的关系。
每一个类在某一时刻都有零个或更多的实例, 类是生成对象的模板
一个类定义了使用哪些数据来描述属性,每一个对象都有相应的属性值数据
,一个类通过一系列方法来定义行为,这些方法能在每个对象中被激活

类的定义

把相似的对象划归成一个类。
在软件设计中,类,就是一个模板,它定义了通用于一个特定种
类的所有对象的属性(变量)和行为(方法)。
格式:


图片.png

编码规范:
类名单词首字母大写
属性和方法第一个单词小写,其他单词首字母大写

属性和局部变量对比

局部变量
方法体中声明的变量、方法中的参数或代码块中声明的变量,都是局部
变量


图片.png

属性可以和局部变量同名,使用关键字this进行区分


图片.png

图片.png

认识对象

类和对象的关系
类是创建对象的模板,对象是类的实例。

对象的创建

什么是对象
类(class)是对某一类事物的描述
对象(object)是实际存在的某类事物的个体,也称实例(instance)
创建语法语句:
Employee(类名) zhang(对象名)=new Employee(类名)

对象的使用

在其他类中,使用对象名点运算符调用属性和方法
-引用类的属性:对象名。属性
-引用类的方法:对象名。方法名(实参)

对象的创建

1.编写一个类
2.在主函数中创建对象、
3.运行有主函数的类
只有主函数的类才能运行
无论有多少个类,只要主函数中创建对象,才会占用内存。

创建多个对象

创建匿名对象
创建完对象,在调用该对象的属性或方法时,也可以不定义对象的句柄
,而直接调用这个对象的方法。这样的对象叫匿名对象。
如果只使用该对象进行一次方法或属性调用,可以创建匿名对象。

构造方法

构造器(constructor)
-构造方法也是方法,但是它是特殊的方法而已
-所有对象都是通过构造器来创建的
创建对象:类名 对象名=new 构造方法();
构造器(构造方法/构造器,constructor)特点:
-构造方法名必须与类名称相同
-不含返回值类型,也没有void
-不能在方法中用return语句返回一个值


图片.png

构造方法作用

构造方法用来完成对象的创建,即完成对象的实例化
-在java中,每个类都至少有一个构造器
-一个类可以不写出构造方法,编译器会自动给这个类增加一个构造器,该构造器没有任何参数,称:默认的空构造器。

构造方法重载

构造方法可以像普通方法一样发生重载,通常一个类中不止一个构造方法,而是有多个不同参数的构造器,用户可以根据需要选择不同的构造器创建对象。
-一般可以使用构造器来完成对成员变量的初始化。


图片.png

有带参的构造器,那么不带参的空构造器不会自动产生。为了防止在某
些情况下还想使用这样的无参数默认构造器,因此最好还是养成写出这
个无参数的构造器来,以备后用。


图片.png

构造方法的调用

在其他类只能在创建对象时调用一次构造方法。
普通方法可以在创建对象后,使用点运算符调用多次。


图片.png

多次调用构造器,一个类可以实例化多个对象。


图片.png

java包的概念

在Java中,包主要有以下用途 :
包允许将类组合成较小的单元
有助于避免命名冲突
包允许在更广的范围内保护类、数据和方法
语法: package 包名:

Java类库中常用的包

java.lang: java默认包,任何程序中,该包都被自动导入。

java.io:输入/输出操作有用的类的组成。

访问同包中的类

位于同一包中的类可以直接访问并使用

访问不同包中的类

使用import关键字引入其他包中的类
必须在package声明后面,类声明前
import语句可以出现多次。


图片.png

package和import说明

package说明:
package像是我们的姓,而class名称就像是我们的名字
package和package的附属关系用”.”来连接,这就像是复姓。

import说明:

import就是在java文件开头的地方,先说明会用到哪些类。
接着就能在代码中只用类名指定某个类,也就是只称呼名字,不称呼她的姓。


图片.png

import使用通配符

import可以使用星号(*)通配符

代码封装

封装关键字:
-private(私有):只能被该类的成员访问,private权限最小,限制类外访问。
-default(默认):不使用权限修饰符时(即default)的成员在类内以及
在同一个包中的其他类可以访问。
public(公有):公有的,最高的访问级别,public成员可以在所有其
他类中访问


图片.png

封装的常规属性
-将类中的属性用private关键字进行隐藏
-通过规定方法访问属性,一般通过set开头的公有方法对属性赋值,用get开头的共有方法得到属性的值。
-在方法中加入控制语句,对不合法数据进行检查。

静态:static关键字

static关键字可以修饰的元素
-属性
所有对象共享,称为静态变量或类变量
不用static修饰的属性称为实例变量
注意:只能修饰属性,不能修饰局部变量。
-方法
不需要实例化,可以直接访问,称静态方法或类方法。
-代码块

静态属性

静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内
存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态
变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各
个对象拥有的副本互不影响。

两种方式访问

直接访问:类名.属性
实例化后访问:对象名.属性(不建议使用)

静态语句块

一个类中由static关键字修饰的,不包含在任何方法体中的代码块
当类被载入时,静态代码块被执行,且只被执行一次
静态块经常用来进行类属性的初始化

单例模式

单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
单例模式要点:
-某个类只能有一个实例
-它必须自行创建这个实例
-必须自行向整个系统提供这个实例


图片.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容