S2_OOP第一章
面向对象设计的过程就是抽象的过程
步骤:
第一步:发现类
第二步:发现类的属性
第三步:发现类的方法
抽象是遵循的原则
属性和方法的设置是为了解决业务问题
关注主要属性和方法
如果没有必要,不增加额外的类、属性、方法
构造方法及其重载
Java可以和C#一样使用带参或者无参的构造方法(Constructor)完成赋值的初始化工作,系统会默认给定无参构造函数
构造方法
构造方法的名称和类名相同,没有返回值类型,构造方法的主要工作就是在创建对象时执行一些初始化操作
方法重载
方法重载就是多个方法的方法名相同,方法参数的个数不同或者参数数值类型不同。
Static修饰符
Static修饰的变量属于这个类所有,由这个类创建的所有对象共同一个static变量。通常被static修饰的成员成为类变量和类方法。不使用static修饰的成员属于的单个对象,通常称为实力属性(实例变量)和实例方法
结论
在加载类的过程中,完成静态变量的内存分配,在执行静态块,两者是在才黄建对象之前执行的
类属性和类方法可以通过类名和对象名访问,实例属性和实例方法只能通过对象名访问
类方法只能访问类属性和其他类方法
在方法里不可以定义static变量,也就是类变量不能是局部变量
封装
概念
封装是面向对象的三大特征之一,隐藏类内部的状态信息,通过该类提供的方法来实现对隐藏信息的访问和操作
封装的具体步骤
修改属性的可见性来限制属性的访问,为每个属性创建一个赋值(setter)方法和取值(getter)方法。
封装的优点
隐藏类实现细节
只让使用者通过程序规定的方法来访问数据
可以限制不合理操作和方便加入存取控制语句
This关键字
This关键字是对一个对象的默认引用,在每个实例方法内部,都有一个this引用变量,指定调用这个方法的对象
作用
使用this调用成员变量,解决成员变量和局部变量的同名冲突
使用this调用成员方法
使用this调用个重载的构造方法。只能在构造方法中使用,必须是构造方法的第一条语句。不能在多个构造函数中使,不然会发生递归现象
S2_OOP第一章的更多相关文章
- 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...
- MyBatis3.2从入门到精通第一章
第一章一.引言mybatis是一个持久层框架,是apache下的顶级项目.mybatis托管到goolecode下,再后来托管到github下.(百度百科有解释)二.概述mybatis让程序将主要精力 ...
- Nova PhoneGap框架 第一章 前言
Nova PhoneGap Framework诞生于2012年11月,从第一个版本的发布到现在,这个框架经历了多个项目的考验.一直以来我们也持续更新这个框架,使其不断完善.到现在,这个框架已比较稳定了 ...
- 第一章 MYSQL的架构和历史
在读第一章的过程中,整理出来了一些重要的概念. 锁粒度 表锁(服务器实现,忽略存储引擎). 行锁(存储引擎实现,服务器没有实现). 事务的ACID概念 原子性(要么全部成功,要么全部回滚). 一致性 ...
- 第一章 Java多线程技能
1.初步了解"进程"."线程"."多线程" 说到多线程,大多都会联系到"进程"和"线程".那么这两者 ...
- 【读书笔记】《编程珠玑》第一章之位向量&位图
此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- 《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述
微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF ...
- 《Entity Framework 6 Recipes》翻译系列(2) -----第一章 开始使用实体框架之使用介绍
Visual Studio 我们在Windows平台上开发应用程序使用的工具主要是Visual Studio.这个集成开发环境已经演化了很多年,从一个简单的C++编辑器和编译器到一个高度集成.支持软件 ...
随机推荐
- Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
最近项目有个需求,手机设备连接多个蓝牙4.0 设备 并获取这些设备的数据. 查询了很多资料终于实现,现进行总结. ------------------------------------------- ...
- HTML的基本标签
整理一下这一周学习的一些知识. 首先是一些基本标签. <!DOCTYPE HTML><html> 文档类型声明: 让浏览器,按照html5的标准对代码进行解释与执行.文档类型声 ...
- Spring 事务管理笔记
本文为 Spring 框架的事务管理学习笔记,官网文档地址为:Transaction Management,隔离级别及传播属性解释来自 org.springframework.transaction. ...
- java 得到以后的日期
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt222 import java.text.ParseException; im ...
- Java中死锁的简单例子及其避免
死锁:当一个线程永远地持有一个锁,并且其他线程都尝试获得这个锁时,那么它们将永远被阻塞.比如,线程1已经持有了A锁并想要获得B锁的同时,线程2持有B锁并尝试获取A锁,那么这两个线程将永远地等待下去. ...
- 猎八哥浅谈MYSQL触发器
什么是MYSQL触发器,我们先了解一下触发的意思.触发的字面意思是指因触动而激发起某种反应. MYSQL必知必会中对触发器的解释是:MySQL响应以下任意语句而自动执行的一条MySQL语句(或位于 B ...
- 基础知识(C#语法、数据库SQL Server)回顾与总结
前言 已经有大概一个多月没有更新博客,可能是开始变得有点懒散了吧,有时候想写,但是又需要额外投入更多的时间去学习,感觉精力完全不够用啊,所以为了弥补这一个多月的潜水,决定写一篇,衔接9月未写博客的空缺 ...
- 转:【Java并发编程】之十九:并发新特性—Executor框架与线程池(含代码)
Executor框架简介 在Java5之后,并发编程引入了一堆新的启动.调度和管理线程的API.Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.coc ...
- 验证Oracle收集统计信息参数granularity数据分析的力度
最近在学习Oracle的统计信息这一块,收集统计信息的方法如下: DBMS_STATS.GATHER_TABLE_STATS ( ownname VARCHAR2, ---所有者名字 tabname ...
- 姑娘你大胆地往前走——答大二学生XCL之八问
姑娘你大胆地往前走--答大二学生XCL之八问 以下问题的答案写给我家正在读大二的XCL. 写于 2017-9-13 晚 请问您是为什么选择了IT行业的? 与其说是我选择了行业,不如说是行业选择了我. ...